Преобразовать байт-массив в шестнадцатеричную строку и наоборот в 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();
}

 
Источник: http://www.csharpstar.com/csharp-convert-byte-array-to-hexadecimal-string-and-vice-versa/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Adblock
detector