在Java中,如何将字节的十六进制字符串表示(例如“1e”)转换为字节值?
例如:
byte b = ConvertHexStringToByte("1e");
答案 0 :(得分:20)
您可以使用Byte.parseByte("a", 16);
但这只适用于最高127的值,
由于有符号/无符号问题,值将高于需要转换为字节的值
所以我建议将它转移到一个int,然后将其转换为byte
(byte) (Integer.parseInt("ef",16) & 0xff);
答案 1 :(得分:15)
Integer.parseInt(str, 16);
答案 2 :(得分:12)
Byte.parseByte
将通过解析字符串表示形式返回byte
。
使用带有(String, int)
签名的方法,基数可以指定为16,因此可以解析一个字节的十六进制表示:
Byte.parseByte("1e", 16);