今天遇到一个问题: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")就错了呢?请大家帮我解答一下.谢了.