牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2017-05-04 投稿人: 浏览次数:542

  今天在做毕设,遇见了一个问题,关于编解码的。因为第一次使用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");

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

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。