在Java中,如何将一个十六进制字符串表示的字节(例如"1e")转换为字节值?
例如:
例如:
byte b = ConvertHexStringToByte("1e");
byte b = ConvertHexStringToByte("1e");
您可以使用Byte.parseByte("a", 16);
,但这仅适用于最大值为127的值,
比127大的值将需要转换为byte类型,由于有符号/无符号问题,
因此我建议先将其转换为int,然后再将其强制转换为byte。
(byte) (Integer.parseInt("ef",16) & 0xff);
Integer.parseInt(str, 16);
Byte.parseByte
方法可以通过解析字符串来返回一个byte
。
使用带有(String, int)
签名的方法,可以指定基数为16,因此可以解析字节的十六进制表示:
Byte.parseByte("1e", 16);