天天看点

十六进制转byte

十六进制转byte

在Java中想把 FD 转成 byte,首先想到的是

byte v = Byte.parseByte(“FD”, 16);

结果得到一个java.lang.NumberFormatException,说值的范围越界了。

是的,byte的范围是-128~127,如果把9D当成正数来转换,结果是157,当然越界了。

所以有这样三个处理办法

byte v = (byte) Integer.parseInt(“9D”, 16);

// 或者

byte v = Integer.valueOf(“9D”, 16).byteValue();

//或者

byte v=(byte)0xFD;

继续阅读