站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题字符编码问题(gbk,utf-8互转问题)郁闷!!!

字符编码问题(gbk,utf-8互转问题)郁闷!!!

摘要: 字符编码问题(gbk,utf-8互转问题)郁闷!!!


代码如下:

String str = -#34;你好-#34;;
byte[] b = str.getBytes(-#34;gbk-#34;);
for(byte a: b) System.out.print(a);
System.out.println();

String newstr = new String(b,-#34;utf-8-#34;);
byte[] newb = newstr.getBytes(-#34;utf-8-#34;);
for(byte a: newb) System.out.print(a);

显示结果
-78-30-54-44
-17-65-67-17-65-67-17-65-67-17-65-67

为什么byte[] b 经过utf-8的解码再编码后就变掉了?用utf-8解码再用utf-8编码后应该还是原来的b阿?


写错了,第一句是:
String str = -#34;测试-#34;;不是“你好”


怎么说呢?
gbk和utf8的编码机制是不一样的,所以得到的字节数组长度也不一样。当然打印的结果也就不一样了。


:?


up没人知道吗


是什么就要转成什么,而不是把A编码转当B编码去转,当然乱了


↑返回目录
前一篇: 那位看一下,错在哪里了!
后一篇: 一个简单的strcts问题