将字符串中的十六进制代码转换为byte(java)中的十六进制代

时间:2017-05-13 15:54:34

标签: java

我在字符串中有一个十六进制代码 示例

String a="0x52";

我想将这个十六进制值存储在一个字节中 示例

byte b=(do something with a so i can store it in b);

所以字节b将存储0x52

如何实现这一目标?

仅供参考,我的老师提供了此示例代码

public  byte[] CONSIGNMENT_0 = { 0x52, 0x44, 0x54, 0x30, 0x31, 0x9, 0x6f, 0x6e,  
                                           0x65, 0xa, 0x32, 0x9, 0x74, 0x77, 0xa, 0xd };

它的工作完美,所以我们可以将0x52存储在一个字节变量中。

1 个答案:

答案 0 :(得分:1)

您正在编写十六进制常量,因此您可以使用Integer.parseInt(String, int)解析它(第二个参数是基数),然后将其转换为byte。像,

String a = "0x52";
byte b1 = 0x52;
byte b2 = (byte) Integer.parseInt(a.substring(2), 16);
System.out.println(b1 == b2);

输出

true
相关问题