如何将十六进制字符串转换为十六进制字节?

Raj*_*esh 1 java

在我的应用程序中,我正在从表中读取一些数据.这是字符串格式.我需要将这些数据解析为byte.示例:假设我的字符串包含0e,而不是我希望将0e作为字节值.在这里(byte) (Integer.parseInt("0e",16) & 0xff); 将无法工作,因为它会将此值解析为整数..任何有关此的帮助将不胜感激.谢谢提前.

das*_*ght 8

即使Integer.parseInt("0e", 16) & 0xff产生了一个integer,也没有什么能阻止你添加一个演员:

byte b = (byte)(Integer.parseInt("0e",16) & 0xff);
Run Code Online (Sandbox Code Playgroud)

您可以String.Format用来验证转换是否正常工作:

String backToHex = String.format("%02x", b); // produces "0e"
Run Code Online (Sandbox Code Playgroud)