关于对String的编解码String(byte[] bytes, Charset charset)的理解

来源:互联网 发布:火车头数据采集器简介 编辑:程序博客网 时间:2024/05/16 09:26

  今天在做毕设,遇见了一个问题,关于编解码的。因为第一次使用FCKEditor上传文件,不太了解FCK的机制。后来在上传文件的时候,出现了中文乱码,如下图:
出现乱码的情况下
 后来想了想,出现乱码肯定是编码的格式和解码的格式不相同。FCKEditor的默认编码格式在中国是”GBK”,而我的数据库和网页处理的编码格式都是”UTF-8”。在数次尝试修改FCKEditor的上传文件的编码的情况下,我只能选择在网页上将获取的数据进行解码,然后重新编码,以保证不出现乱码的问题。
 先来谈谈解码String.getBytes(Charset charset)。
 返回值:byte[]  返回的是一个 字节数组。
 方法的作用:将String以指定的编码格式(既参数charset)进行解码,然后以字节数组的形式存储这些解码后的字节。

 再来谈谈String(byte[] bytes,Charset charset)
 返回值:String  返回的是一串字符串。
 方法的作用:将字节数组bytes以charset的编码格式进行编码 。

原来的代码为:
pagelist2.get(1);//这是取到一个以"GBK"编码的String的字符串
然后我将代码改为:
//对其进行GBK解码,然后UTF-8重新编码。
new String(pagelist2.get(1).getBytes("GBK"),"UTF-8");

 修改后的网页获取到的数据如下:
重新编码后获取到的数据

0 0