求助String()构造函数

05-12-28 diablo_hjn
今天遇到一个问题:

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")就错了呢?

请大家帮我解答一下.谢了.

banq
2006-01-05 20:02
Java乱码问题主要是在各个环节:编程  编译 运行等都=必须维持同一种编码类型,详见:

http://www.jdon.com/idea/chinesejava.htm

猜你喜欢