unicode的一個http請求後,我已得到使用UTF-8編碼的字節數組,例如: 手柄窗口1252和在Java
byte[] array = new byte[]{0xc3, 0xa4, 0xc2, 0x96}
我使用 new String(array, "UTF-8")
字節數組進行解碼。
在該示例中,第一個解碼字符是0xe4
,它代表Unicode中的字母ä
- 目前爲止沒有問題。第二個字符0x96
代表Windows-1252中的破折號–
,它代表Unicode中的某個控制字符spa start of guarded area
。
由於Java正在將字符解釋爲Unicode,所以我得到了一些不可見的字符。
我的問題:我怎樣才能正確地解碼字節數組獲得ä–
(0xe4 0x2013
以Unicode)。
在此先感謝您的幫助:)
有沒有這樣的事,作爲一個「Unicode字符串」或「Latin-1」字符串;一個字符串就是一串字符。 – fge
您明確指定了UTF-8。你期望什麼? – chrylis
爲什麼不使用'new String(array,「Latin-1」)'解碼? – ControlAltDel