程序员

新手java 乱码误区手记

2018-06-07  本文已影响0人  梦想远方_8e96

关于Java乱码的问题

误区

一直以来,

new String("testString".getBytes("GBK"),"UTF-8")

这样的写法都被用来把字符串从GBK编码转为UTF-8,

其实这样的理解是错误的。

在JAVA内部,统一用Unicode来编码和存储数据。

"testString".getBytes("GBK")

这行代码的真实作用,是取出字符串的 GBK编码而

小编推荐一个学JAVA的学习裙【四九二,一七三,八四二】,无论你是牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发具,很多干货和技术资料分享

net String (byte[],"UTF-8")

这里的UTF8,是告诉Java在传入的byte[]里保存的是UTF-8 格式的编码,这样Java内部就会根据UTF-8的编码方案来转化并保存byte[]数据

所以如果想从GBK转为UTF-8,以上这样的代码是完全错误的,当然转化成其他编码也是一样的问题,只是有时候错误的方案却能得到正确的结果,这就是歪打正着了。

但是总归一句话,不要尝试用这种方式来在JAVA中实现转码

上一篇 下一篇

猜你喜欢

热点阅读