java 中的字符串到字节

String to byte in java

我在将 String(包含十六进制值)转换为 byte 时遇到问题。像下面的代码。

String hexaString = "0xA1";
byte hexaByte = (byte)hexaString;

无法像此代码那样从字符串转换为字节(获取错误:Cannot cast from String to byte)。

但我可以这样做

byte hexaByte = (byte)0xA1; //this is giving output as -95

任何人请指导我如何像第一种方法那样做(这也输出值 -95)。因为,我将从 db 获得的最后两位数,我需要将其转换为十六进制(附加 0x)。然后我应该作为字节值发送给客户端。

提前致谢!

您可以这样做:

byte hexaByte = Byte.parseByte("1A", 16);

其中 16 是基数(系统计数的基数),但如果数字大于 127 将导致 NumberFormatException。

如果您需要能够使用 0x 前缀,(byte) Integer.decode("0xA1") 会做正确的事。