直接先上代码:
//编码
String s="你好";
byte[] b=s.getBytes();//编码,默认gbk编码
String s1=new String(b,"iso8859-1");//解码
System.out.println(Arrays.toString(b));
System.out.println(s1);
//采用iso8859-1编码并获取字节组
byte[] b1=s1.getBytes("iso8859-1");//编码
String s2=new String(b1,"utf-8");//解码
System.out.println(Arrays.toString(b1));
System.out.println(s2);
输出结果:
[-60, -29, -70, -61]
????
[-60, -29, -70, -61]
???
问: byte[] b1=s1.getBytes("iso8859-1");//采用“iso8859-1"编码后获得字节数组[-60, -29, -70, -61]后 再采用”utf-8“格式进行解码应该是3个字节一个字符吧,因此最多应该有两个未识别的问号吧 为什么有3个?
|
|