编码与解码

import java.io.UnsupportedEncodingException;
import java.util.Arrays;
/*
编码与解码 
 
 编码: 把看得懂的字符变成看不懂码值这个过程我们称作为编码。
 
解码: 把码值查找对应的字符,我们把这个过程称作为解码。

注意: 以后编码与解码一般我们都使用统一的码表。否则非常容易出乱码。

 */

public class Demo7 {
    
    public static void main(String[] args) throws Exception {
        /*
        String str = "中国";
        byte[] buf = str.getBytes("utf-8");// 平台默认的编码表是gbk编码表。  编码
        System.out.println("数组的元素:"+Arrays.toString(buf)); //
        
        str = new String(buf,"utf-8");  //默认使用了gbk码表去解码。 
        System.out.println("解码后的字符串:"+ str);        
        */
        
        
        /*String str = "a中国"; // ,0, 97, 78, 45, 86, -3
        byte[] buf = str.getBytes("unicode");  //编码与解码的时候指定 的码表是unicode实际上就是用了utf-16.
        System.out.println("数组的内容:"+ Arrays.toString(buf));
        */
        
        
        String str = "大家好";
        byte[] buf = str.getBytes(); //使用gbk进行编码
        System.out.println("字节数组:"+ Arrays.toString(buf));  // -76, -13, -68, -46, -70, -61
        
        str = new String(buf,"iso8859-1");
        // 出现乱码之后都可以被还原吗? 
        
        byte[] buf2 = str.getBytes("iso8859-1");
        str = new String(buf2,"gbk"); 

        System.out.println(str);
        
        
        
        
    }
    
}

 

posted @ 2017-02-19 17:11  iFat  阅读(144)  评论(0编辑  收藏  举报