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

当前页面: 开发资料首页J2EE 专题java转码的时候一个很奇怪的现象!!!!!!

java转码的时候一个很奇怪的现象!!!!!!

摘要: java转码的时候一个很奇怪的现象!!!!!!


String str = "中文";
String str =new String(str.getBytes("utf-8"));
System.out.println(str);
String str =new String(str.getBytes("GB2312"));
System.out.println(str);
会打印出来:
"涓枃"
"中文"
可如果:
String str =new String("涓枃".getBytes("GB2312"));
System.out.println(str);
责打印出:
"涓??"
感觉好奇怪,为什么不是我期望的:"中文"
如果想通过"涓枃"转回中文,需要怎么样呀?



String str3 =new String("涓枃".getBytes("GBK"),"utf-8");


其实String str =new String(str.getBytes("utf-8"));
等于 String str =new String(str.getBytes("utf-8"),"GBK");第二个参数不设,默认就是你系统的字符集GBK,现在我把它反过来就得到“中文”了。



String str =new String("涓枃".getBytes(), "UTF-8");
System.out.println(str);



乱吗 就不能转了


↑返回目录
前一篇: DZ论坛注册日期算法问题!一个int型数据转日期的算法。。
后一篇: java判断转义符,最好有给点代码,谢谢了