读书人

关于字符串编码 译码 转码有关问题

发布时间: 2012-08-28 12:37:01 作者: rapoo

关于字符串编码 译码 转码问题
在java程序中,所有String 都是unicode编码形式。也就是类似new String(bytes,"gb2312")的形式,也仅仅是用gb2312把bytes译码成unicode

而真正编码的是,str.getBytes("gb2312")。他的意思是把str的字符串编码成
gb2312形式的字节串。

还有一个就是OutputStreamWriter流,能把字符串(unicode形式)转成指定编码。

下面是示例代码:

        String str;        //用utf-8编码        byte[] b="中人民共和;中华人民共和国".getBytes("utf-8");        //用utf-8译码成unicode码str=new String(b,"utf-8");                //用big5编码        b=str.getBytes("big5");                         File f = new File("c:/aa.txt");          FileOutputStream out = new java.io.FileOutputStream(f);                  out.write(b);                out.write("xxx中人民共和;中华人民共和国".getBytes());         out.close();                  //方式二,直接由unicode编码成GBK并输出         Writer o = new OutputStreamWriter(                 new FileOutputStream(f,true), "GBK");         o.write(str);         o.close();

读书人网 >编程

热点推荐