package com.hanchao.base64;
/***********************
 * file.encoding的简单学习
 * @author:han   
 * @version:1.0       
 * @created:2014-3-28   
 ***********************
 *参考:
 *http://hi.baidu.com/fengchuyang/item/5fe35ecd10b7bb24a0b50ad4
 *
 */
public class Test2 {
      
    public static void main(String[] args) throws Exception {
          
        /**
         * file.encoding的简单学习
         * 说明:
         * 1.不是操作系统的编码
         * 2.它的值为保存每个程序的main入口的那个java文件的保存编码
         *   (点击文件-->属性-->text file encoding(other的值),
         *   这是使用eclipse 编译器)
         *
         */
        System.out.println("1.file.encoding : " + System.getProperty("file.encoding"));
        System.out.println("2.sun.jnu.encoding : " + System.getProperty("sun.jnu.encoding"));
          
        /**
         *  1、文件保存的编码为:GB2312 时
            编译执行之后,得到的结果为:
              
            GB2312
            2、文件保存的编码为:GBK 时
              
            编译执行之后,得到的结果为:
              
            GBK
            3、文件保存的编码为:UTF-8时
              
            编译执行之后,得到的结果为:
              
            UTF-8
            从上面的三个结果可以看出,file.encoding的值并不是操作系统os的默认编码
              
            而是main入口函数所在的类的保存编码.
              
            ****************************************************
            在一个运行的应用程序中
            file.encoding的值只有一个,并且值为入口函数的保存编码的值
         */
          
        String temp = "abc韩超";
        //字符编码
        //temp.getBytes("GBK");
        //temp.getBytes("UTF-8");
        new String(temp.getBytes("utf-8"),"utf-8");
          
        System.out.println("NULL:" + temp);
        System.out.println("gbk:" + new String(temp.getBytes(),"GBK"));
        System.out.println("UTF-8:" + new String(temp.getBytes(),"UTF-8"));
          
          
          
    }
}