Преобразовать байт-массив в шестнадцатеричную строку и наоборот в C#
В этой статье мы узнаем, как преобразовать байт-массив в шестнадцатеричную строку и наоборот в C#.
Преобразование байт-массива в шестнадцатеричную строку в C#
Способ 1.
public static string ByteArrayToString(byte[] ba)
{
StringBuilder hex = new StringBuilder(ba.Length * 2);
foreach (byte b in ba)
hex.AppendFormat("{0:x2}", b);
return hex.ToString();
}
Способ 2.
public static string ByteArrayToString(byte[] ba)
{
string hex = BitConverter.ToString(ba);
return hex.Replace("-","");
}
Способ 3.
using System.Runtime.Remoting.Metadata.W3cXsd2001;
public static byte[] GetStringToBytes(string value)
{
SoapHexBinary shb = SoapHexBinary.Parse(value);
return shb.Value;
}
Преобразование шестнадцатеричной строки в байт-массив в C#:
Способ 1.
public static byte[] StringToByteArray(String hex)
{
int NumberChars = hex.Length;
byte[] bytes = new byte[NumberChars / 2];
for (int i = 0; i < NumberChars; i += 2)
bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
return bytes;
}
Способ 2.
using System.Runtime.Remoting.Metadata.W3cXsd2001;
public static string GetBytesToString(byte[] value)
{
SoapHexBinary shb = new SoapHexBinary(value);
return shb.ToString();
}
