可能重复:
如何将字节数组转换为十六进制字符串,反之亦然?
我需要一种有效且快速的方法来进行这种转换。我尝试了两种不同的方法,但它们对我来说不够有效。对于具有大量数据的应用程序,是否有任何其他快速方法可以实时完成此任务?
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;
}