標的 :
最初に整数値をhexstringに変換し、次にbyte[]に変換します。
例 :
Need to convert int:1024 to hexstring:400 to byte[]: 00000100 00000000
方法:
整数から16進文字列に変換するために、以下のコードを試しました
int i=1024;
string hexString = i.ToString("X");
hexstring値を「400」として取得しました。次に、以下のコードを使用して、16進文字列をbyte[]に変換してみました
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;
}
エラー:
ここで、「16進文字列は奇数桁にすることはできません」という例外が発生しました
解決策:??