2012-07-04 50 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是十六進制數的基數。

相關問題