编码问题
2016-07-05 19:42
232 查看
/** * Function: * * @version 1.0 * Date: 2016/7/5 * Time: 16:52 * @author: XJ */ public class CharsetTest { /** * 不同的编码获取的字节数组是不同的 * @throws UnsupportedEncodingException */ @Test public void DifferentEncode() throws UnsupportedEncodingException { byte[] b1 = "你好 案发时发生发的是分散:;的说方面的撒发生 。的说法。;‘‘bi".getBytes("utf-8"); System.out.println(Arrays.toString(b1)); String utf = new String(b1, 0, b1.length, "utf-8"); System.out.println(utf); byte[] b2 = "你好 案发时发生发的是分散:;的说方面的撒发生 。的说法。;‘‘bi".getBytes("iso8859-1"); System.out.println(Arrays.toString(b2)); String iso = new String(b2, 0, b2.length, "iso8859-1"); System.out.println(iso); byte[] b3 = "你好 案发时发生发的是分散:;的说方面的撒发生 。的说法。;‘‘bi".getBytes("GBK"); System.out.println(Arrays.toString(b3)); String gbk = new String(b3, 0, b3.length, "GBK"); System.out.println(gbk); } /** * 利用 iso8859-1 作为中间编码 防止乱码 * 注意:如果直接将utf-8的编码用GBK解析的话可能导致生成的byte[]与之前的byte[]不同,从而导致最后转为utf-8的时候出现乱码 * @throws UnsupportedEncodingException */ @Test public void UserISOAsMiddleware() throws UnsupportedEncodingException { byte[] b1 = "你好 案发时发生发的是分散:;的说方面的撒发生 。的说法。;‘‘bi".getBytes("utf-8"); System.out.println(Arrays.toString(b1)); // byte[] b2 = new String(b1, 0, b1.length, "GBK").getBytes("GBK"); // System.out.println(Arrays.toString(b2)); // System.out.println(new String(b2, 0, b2.length, "GBK")); byte[] b2 = new String(b1, 0, b1.length, "iso8859-1").getBytes("iso8859-1"); System.out.println(Arrays.toString(b2)); System.out.println(new String(b2, 0, b2.length, "iso8859-1")); byte[] b3 = new String(b2, 0, b2.length, "utf-8").getBytes("utf-8"); System.out.println(Arrays.toString(b3)); System.out.println(new String(b3, 0, b3.length, "utf-8")); } }
相关文章推荐
- ASP编码必备的8条原则
- XML指南——XML编码
- C#中字符串编码处理
- ExtJS中文乱码之GBK格式编码解决方案及代码
- 程序员趣味读物 谈谈Unicode编码
- 文本文件编码方式区别
- C语言安全编码之数值中的sizeof操作符
- C#实现获取文本文件的编码的一个类(区分GB2312和UTF8)
- VC中BASE64编码和解码使用详解
- 计算机中的字符串编码、乱码、BOM等问题详解
- Base64编码解码原理及C#编程实例
- C#编码好习惯小结
- javascript编码的几个方法详细介绍
- UTF8编码开发中页面空白问题的解决方法
- php生成固定长度纯数字编码的方法
- 重新restore了mysql到另一台机器上后mysql 编码问题报错
- c# Base64编码和图片的互相转换代码
- java自动根据文件内容的编码来读取避免乱码
- PHP写入WRITE编码为UTF8的文件的实现代码
- 设置php页面编码的两种方法示例介绍