我有一個Java servlet通過HTTP GET請求從上游系統接收數據。此請求包含一個名爲「text」的參數,另一個名爲「charset」,指示文本參數如何編碼:解碼UTF-16文本
如果我指示上游系統發送文本TĀ
並調試servlet請求params,我會看到以下:
request.getParameter("charset") == "UTF-16LE"
request.getParameter("text").getBytes() == [0, 84, 1, 0]
的code points(十六進制)在這個字符串中的兩個人物是:
[T] 0054
[Ā] 0100
我無法弄清楚如何將這種byte[]
轉換回字符串"TĀ"
。我應該提到我並不完全相信charset
,並懷疑它可能使用UTF-16BE
。