1
我需要將java字符串編碼爲UCS,如'h'至'0068'將字符串編碼到UCS2
例如。我有一個測試設置
@Test
public void testEncodeAsUCS2_string1() throws Exception {
String encoded = sendRequestTransformer.encodeAsUCS2("hello");
Assert.assertEquals("00680065006C006C006F", encoded);
}
所以這個測試讓我知道,如果轉換成功,例如。你好應該返回00680065006C006C006F
在我的代碼中,我知道下面的轉換是錯誤的,因爲它打印[B @ 742cb491。 (Object類的這個toString方法返回一個字符串,該字符串由對象爲實例的類的名稱,符號字符「@」和對象的哈希代碼的無符號十六進制表示形式組成)
我需要幫助轉換
String encodeAsUcx2(String messageContent){
try {
messageContent.getBytes("UTF-16LE");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return String.valueOf(messageContent.getBytes());
}
我該如何解決這個問題?
謝謝,適用於正常的英語單詞,但我有不同的語言在不同的語言中的問題。它導致字母輸出爲FFFD,用於指示系統何時無法將數據流呈現給corect符號 – user3520080
@ user3520080您可以舉個例子嗎?您可能試圖對UTF-16不支持的某些內容進行編碼,並且需要使用[Java其他編碼支持]之一(https://docs.oracle.com/javase/8/docs/technotes/)而不是使用指南/ intl/encoding.doc.html)。 – azurefrog