Java文件与io——常见字符编码

在计算机世界里,任何的文字都是以指定的编码方式存在的。

常见编码有:ISO8859-1、GBK/GB2312、unicode、UTF

ISO8859-1:编码属于单字节编码,最多只能表示0-255的字符范围,主要在英文上应用

GBK/GB2312:中文的国际编码,专门用来表示汉字,是双字节编码

unicode:java中就是使用此编码方式,也是最标准的一种编码,是使用16进制表示的编码。但此编码不兼容                 ISO8859-1编码

UTF:由于unicode不支持ISO8859-1编码,而且容易占用更多的空间,而且对于英文字母也需要使用两个字节         编码,这样使用unicode不便于传输和存储,因此产生了utf编码,utf编码兼容了ISO8859-1编码,也可         以用来表示所有语言字符,不过utf是不定长编码,每个字符的长度从1-6个字节不等,一般在中文网页中         使用此编码,因为这样可以节省空间。

造成乱码的根本原因:

1、程序使用的编码与本机的编码不统一

2、在网络中,客户端与服务端编码不统一

public class CodeDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String name="字符编码";
        try {
            String newName=new String(name.getBytes("GBK"),"iso-8859-1");
            System.out.println(newName);
            
            //还原
            String s=new String(newName.getBytes("iso-8859-1"),"GBK");//将iso-8859-1字符编码变为GBK
            System.out.println(s);
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

 

posted on 2016-01-12 09:59  深海溺心  阅读(623)  评论(0编辑  收藏  举报

导航