关于对String的编解码String(byte[] bytes, Charset charset)的理解
今天在做毕设,遇见了一个问题,关于编解码的。因为第一次使用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");
修改后的网页获取到的数据如下:
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: DOS操作系统、常用DOS命令简介
- 下一篇: DOS命令大全:More命令详解