2011-03-24 45 views
1

我很難嘗試將包含某些字節的十六進制表示形式的字符串轉換爲其對應的字節數組。將某些字節的十六進制字符串表示形式轉換爲Java中的字節數組

StringBuffer sb = new StringBuffer(); 
for (int i = 0; i < mdbytes.length; i++) { 
    sb.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1)); 
} 
return sb.toString(); 

不知道如何從字符串數組得到:

我使用下面的代碼獲得32字節?換句話說,如何做到上面代碼的相反。

謝謝。

回答

4

我想嘗試公地編解碼器byte[] originalBytes = Hex.decodeHex(string.toCharArray())。實際上,我也將它用於編碼部分。

-1

使用

String.getBytes(); 

方法

+0

我認爲是。 – Bozho 2011-03-24 21:42:14

+0

這將給字符串的已經字節表示的字節數組轉換,這將與原始的預期的十六進制非常不同。 – iankits 2015-07-17 08:16:46

1

您可以使用Integer.parseInt(String s, int radix)方法將十六進制表示法轉換回整數,然後您可以將其轉換爲一個字節。使用它一次處理字符串兩個字符。

相關問題