10

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

例如:

byte b = ConvertHexStringToByte("1e");
4

3 回答 3

21

您可以使用Byte.parseByte("a", 16); ,但这仅适用于高达 127 的值,高于需要转换为字节的值,由于有符号/无符号问题,所以我建议将其传输为 int,然后将其转换为字节

(byte) (Integer.parseInt("ef",16) & 0xff);
于 2013-09-12T10:19:41.710 回答
15
Integer.parseInt(str, 16);
于 2009-09-23T16:08:20.827 回答
12

Byte.parseBytebyte通过解析字符串表示返回 a 。

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

Byte.parseByte("1e", 16);
于 2009-09-23T16:17:00.567 回答