Возможный дубликат:
Как преобразовать байт-массив в шестнадцатеричную строку и наоборот?
Мне нужен эффективный и быстрый способ сделать это преобразование. Я пробовал два разных способа, но они недостаточно эффективны для меня. Есть ли какой-либо другой быстрый способ выполнить это в режиме реального времени для приложения с огромными данными?
public byte[] StringToByteArray(string hex)
{
return Enumerable.Range(0, hex.Length / 2).Select(x => Byte.Parse(hex.Substring(2 * x, 2), NumberStyles.HexNumber)).ToArray();
}
Вышеупомянутое чувствовало себя более эффективным для меня.
public static byte[] stringTobyte(string hexString)
{
try
{
int bytesCount = (hexString.Length) / 2;
byte[] bytes = new byte[bytesCount];
for (int x = 0; x < bytesCount; ++x)
{
bytes[x] = Convert.ToByte(hexString.Substring(x * 2, 2), 16);
}
return bytes;
}
catch
{
throw;
}