我有这个:
string x = "0X65 00 0X94 0X81 00 0X40 0X7E 00 0XA0 0XF0 00 0X80 0X2C 00 0XA9 0XA";
我想这样:
byte[] x = {0X65, 00, 0X94, 0X81, 00, 0X40, 0X7E, 00, 0XA0, 0XF0, 00, 0X80, 0X2C, 00, 0XA9, 0XA};
当我尝试类似的事情时:
string[] t = x.split(' ');
byte[] byte = new byte[t.Legnth];
for (int i = 0; i < byte.Length; i++)
{
byte[i] = Convert.ToByte(t[i]);
}
将字节编码为其他值。我不熟悉字节格式,我只是试图直接从一个由空格分隔的字节串转到将它们放在数组中。
答案 0 :(得分:16)
来自Microsoft网站:Convert.ToByte Method (String, Int32):
将指定基数中的数字的字符串表示形式转换为 等效的8位无符号整数。
在这种情况下,您需要告诉 ToByte 方法转换base 16
中的字符串byte[] t = x.Split().Select(s => Convert.ToByte(s, 16)).ToArray();