将字符串0x255转换为字节

时间:2018-12-05 07:42:52

标签: c# byte

我不确定为什么会得到它...为什么有任何想法?

代码:

data[i] = Convert.ToByte(build, 16);

其中build是值为{strong> 0x255 的string,例如,其他转换对我 0x04 来说很好。它只是停留在那个值上

2 个答案:

答案 0 :(得分:3)

您正在混合十进制十六进制

0xFF  (hex) == 255 
0x255 (hex) == 597 which is beyond byte range [0..255]

请注意

0x04  (hex) == 4   and that's why you have a correct result

在您的情况下,代码应为

// build == "255" and build is decimal
data[i] = Convert.ToByte(build, 10);

// build is hexadecimal, but "0x255" is an incorrect value
build = "0xFF";
...
data[i] = Convert.ToByte(build, 16);

答案 1 :(得分:0)

十六进制值从0x000xFF(0-255)。

因此0x255不作为字节存在。您正在寻找的值而不是0x2550xFF

相关问题