当前页面: 开发资料首页 → 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编码去转,当然乱了