Darabonba/Utils/BytesUtils.cs (39 lines of code) (raw):

using System.Text; namespace Darabonba.Utils { public class BytesUtils { public static byte[] From(string data, string type) { string lowerEncoding = type.ToLower(); switch (lowerEncoding.ToLowerInvariant()) { case "ascii": return Encoding.ASCII.GetBytes(data); case "bigendianunicode": return Encoding.BigEndianUnicode.GetBytes(data); case "unicode": return Encoding.Unicode.GetBytes(data); case "utf32": case "utf-32": return Encoding.UTF32.GetBytes(data); case "utf8": case "utf-8": return Encoding.UTF8.GetBytes(data); default: return Encoding.UTF8.GetBytes(data); } } public static string ToHex(byte[] raw) { if (raw == null) { return string.Empty; } StringBuilder result = new StringBuilder(raw.Length * 2); for (int i = 0; i < raw.Length; i++) result.Append(raw[i].ToString("x2")); return result.ToString(); } } }