byte[] byteArr1 = {(byte)0x8E,(byte)0x62};
字节数组由 BIG5 中的稀有汉字字节组成。
String out = new String(byteArr1, "ISO-8859-1");
在这里,我通过将其编码转换为 ISO-8859-1 来将字节分配给我的字符串变量。但是在分配我的十六进制值后,从(8E 62)变为(3F 62)。因此我的输出字符串发生了变化。
先感谢您。
byte[] byteArr1 = {(byte)0x8E,(byte)0x62};
字节数组由 BIG5 中的稀有汉字字节组成。
String out = new String(byteArr1, "ISO-8859-1");
在这里,我通过将其编码转换为 ISO-8859-1 来将字节分配给我的字符串变量。但是在分配我的十六进制值后,从(8E 62)变为(3F 62)。因此我的输出字符串发生了变化。
先感谢您。
你看过这里吗?
创建 String 时提供的编码必须是底层字节数组的编码。您总是在从某种东西转换为 Unicode。在你的情况下,你应该尝试"Big5"
而不是"ISO-8859-1"
Java 字符串始终是 unicode(字符串类是 UTF-16),因此无需复制。