2012-07-04 48 views
0

我有一个字符串,它包含字节值的字符串表示形式。如何将字节的字符串表示形式转换为字节

String string = "0xOA"; 

如何将它变成一个值为0A的字节?

+7

你的意思是你的字符串有“0A”而不是“OA”吗? –

+0

不 - 我想要一个字节基元,其值为0A(或者是一个值为10的int,我可以将其转换为一个字节) – user497087

+1

我的观点是在字母“O”而不是数字“0”您的示例字符串。当然,这不是故意的,是吗? –

回答

3

您可以使用

byte b = (byte) Integer.decode("0x0A"); 

这适用于八进制和十进制。之所以使用整数是0xFF将为字节失败(255> 127)

+0

byte b = Integer.decode(“0x0A”)。byteValue();作品。谢谢 – user497087

0

尝试

Byte.valueOf(string, 16); 
+0

与上面相同 - NumberFormatException – user497087

1

你尝试Byte.valueOf(String s)

+0

不起作用。即使我直接尝试它,字节b = Byte.valueOf(“0X0A”);我得到一个NumberFormatException – user497087

+0

0X0A不是0x0A btw – m0skit0

2

您可以使用

Byte.parseByte(string.substring(2), 16) 

.substring(2)是摆脱0x,而16是十六进制数的基数。

相关问题