目标 :
首先将整数值转换为十六进制字符串,然后再转换为字节[]。
例子 :
Need to convert int:1024 to hexstring:400 to byte[]: 00000100 00000000
方法:
为了从整数转换为十六进制字符串,我尝试了下面的代码
int i=1024;
string hexString = i.ToString("X");
我得到的十六进制值是“400”。然后我尝试使用下面的代码将十六进制字符串转换为字节 []
byte[] value = HexStringToByteArray(hexValue);
/* function for converting hexstring to byte array */
public byte[] HexStringToByteArray(string hex)
{
int NumberChars = hex.Length;
if(NumberChars %2==1)
throw new Exception("Hex string cannot have an odd number of digits.");
byte[] bytes = new byte[NumberChars / 2];
for (int i = 0; i < NumberChars; i += 2)
bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
return bytes;
}
错误:
在这里我得到了例外“十六进制字符串不能有奇数位数”
解决方案:??