C#按字符串原样转为16进制

大家好!

在C#中如何将一个hex文件的内容按字符串格式转换成对应的16进制?

比如一行hex文件的内容如下:

:10751E00A019D8A4120056EC2FF0000E0101A06F96

除开冒号,本身这些数据都是每两个字符组成一个16进制,如果上面这一行是个字符串,我如何将它转换为一个字节数组,就像:
[0x10,0x75,0x1E, 0x00......0x96]

谢谢大家了!

问题已解决,谢谢大家!
下面是解决方案,有需要的朋友可以参考下:
https://blog.csdn.net/weixin_36209467/article/details/103166153

该回答引用GPTᴼᴾᴱᴺᴬᴵ
你可以使用C#中的Convert类将字符串转换为16进制数。
·
首先,你需要去除冒号并将字符串拆分成两个字符的数组。然后,你可以使用Convert类的FromHexString方法将每个两个字符的数组元素转换为相应的16进制数。最后,将所有16进制数放入一个字节数组中。
·
下面是一个示例代码:

string hexString = "10751E00A019D8A4120056EC2FF0000E0101A06F96";
hexString = hexString.Substring(1); // 去除冒号
byte[] byteArray = new byte[hexString.Length / 2];
for (int i = 0; i < hexString.Length; i += 2)
{
    string hexByte = hexString.Substring(i, 2);
    byteArray[i / 2] = Convert.ToByte(hexByte, 16);
}
Console.WriteLine(BitConverter.ToString(byteArray));


输出:

10-75-1E-00-A0-19-D8-A4-12-00-56-EC-2F-F0-00-0E-01-01-A0-6F-96


该代码将hexString转换为一个字节数组,并使用BitConverter.ToString方法将其打印到控制台上。