在Java中将十六进制字符串转换为一个字节

时间:2009-09-23 16:07:02

标签: java string type-conversion byte

在Java中,如何将字节的十六进制字符串表示(例如“1e”)转换为字节值?

例如:

byte b = ConvertHexStringToByte("1e");

3 个答案:

答案 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);