字符串转16进制字节数组
有个字符串 0x5d0x010200C90002D5E34B4C323338317C3132302E32343934307C32382E3738373432 我要字符串转16进制字节数组
public byte[] strToHexByte(string hexString)
{
hexString = hexString.Replace(" ", "");
if ((hexString.Length % 2) != 0)
hexString += " ";
byte[] returnBytes = new byte[hexString.Length / 2];
for (int i = 0; i < returnBytes.Length; i++)
returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2),16);
return returnBytes;
}
结果报错:未找到任何可识别的数字
但是我把这个字符串前面0x5d0x01这几个数字去掉 是可以的
帮帮我
------解决方案--------------------0x是十六进制的“前缀”
------解决方案--------------------Convert.ToByte("0x5d",16)和Convert.ToByte("5d",16)的结果是一样的。但是在这里你以两个字符分组来转换,Convert.ToByte("0x",16)就是无效的了。所以可以直接去掉0x
------解决方案--------------------