我有個字節B的數組:解釋Java字節[]作爲字符串
b = [-98, -99]
我需要數據的該段傳遞給函數。該函數接受一個字符串(這是不可更改的)。如何獲取Java解釋B中的原始二進制數據作爲字符串無需更改任何位在B
編輯
這不是一個重複:
Converting byte array to String (Java)
因爲數組b由位[1001 1110 1001 1101]或[9E9D]組成。如果我使用
String str = new String(b, "Cp1252")
Cp1252編碼沒有位1001 1101或9D的序列值。所以這個函數的結果是str =「???」。二進制形式是[1001 1110 0011 1111]或[9E3F]。注意這個函數改變了我的位,這實質上破壞了我的數據。
我認爲這將在C++中使用reinterpret轉換來完成,但java中不存在這樣的事情。提前致謝。
什麼是字節編碼?除非知道單個字節的含義,否則不能將字節流解釋爲字符串。 – Shrike
'new String(b,Charset.forName(「cp1252」))'? – assylias
你期望什麼字符[-98,-99,-100,-102,-104]變成? – Patashu