在Java中将hex字符串转换为一个字节

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

例如:

byte b = ConvertHexStringToByte("1e"); 

你可以使用Byte.parseByte("a", 16); 但是这只适用于最多127的值,由于有符号/无符号问题所需的值高于需要转换为字节的值,因此我建议将其转换为int然后将其转换为byte

 (byte) (Integer.parseInt("ef",16) & 0xff); 
 Integer.parseInt(str, 16); 

Byte.parseByte将通过解析字符串表示来返回一个byte

使用带有(String, int)签名的方法,可以将基数指定为16,因此可以解析字节的hex表示:

 Byte.parseByte("1e", 16);