今天遇到一个问题:
byte[] b = new byte[]{(byte)131,(byte)233};
String name = new String(b,"gbk");
理想结果name应该是"",而现在却是乱码.
背景:
操作系统:ibm aix
系统默认字符集:iso8859-1
结果:
name.getBytes("gbk")返回的字节数组只有一个字节0x3f,应该有两个字节才对(0x83,0xe9)
如果 String name = new String(b);这时由name得到的字节数组是正确的,
现在不明白的是为什么new String(b,"gbk")就错了呢?
请大家帮我解答一下.谢了.