日期:2014-05-18  浏览次数:20930 次

字符串转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
------解决方案--------------------
探讨
引用:
Convert.ToByte("0x5d",16)和Convert.ToByte("5d",16)的结果是一样的。但是在这里你以两个字符分组来转换,Convert.ToByte("0x",16)就是无效的了。所以可以直接去掉0x

谢谢,请问 那个16是指十六进制?