2012-12-06 105 views
1

byte [] byteArr1 = {(byte)0x8E,(byte)0x62};JAVA中UTF8到BIG5的中文稀疏字符映射

字節數組由BIG5中罕見漢字的字節組成。

String out = new String(byteArr1,「ISO-8859-1」);

在這裏,我將字節分配給我的字符串變量,將其編碼轉換爲ISO-8859-1。 但分配我的十六進制值後,從(8E 62)更改爲(3F 62)。由此我的輸出字符串改變。

謝謝提前。

回答

2

你看了here

您在創建字符串時提供的編碼必須是基礎字節數組的編碼。你總是從某種東西轉換到Unicode。在你的情況下,你應該嘗試"Big5"而不是"ISO-8859-1"

Java字符串總是unicode(String類是UTF-16),因此無copepage。