public String UTF_To_GB2312(String utfString)
{
byte[] b;
try {
b = utfString.getBytes("ISO-8859-1");
return new String(b, "GB2312");
} catch (Exception e){
return null;
}
}
public String GB2312_TO_UTF8(String gbString)
{
byte[] b;
try {
b = gbString.getBytes("ISO-8859-1");
return new String(b, "UTF-8");
} catch (Exception e){
return null;
}
}
public String GB2312_TO_BIG5(String gbString)
{
byte[] b;

Charset.availableCharsets();
try {
b = gbString.getBytes("IS-O8859-1");
return new String(b, "Big5");
} catch (Exception e){
return null;
}


}
这是一个朋友给的代码!现在我弄不出来效果!那位朋友帮忙弄一下!用eclipse运行时能看到他们之间转换的效果??????

解决方案 »

  1.   

    public static String UTF8_To_GB2312(String utfString) {
    byte[] b;
    try {
    b = utfString.getBytes("UTF-8");
    return new String(b, "GB2312");
    } catch (Exception e) {
    return null;
    }
    } public static String GB2312_TO_UTF8(String gbString) {
    byte[] b;
    try {
    b = gbString.getBytes("GB2312");
    return new String(b, "UTF-8");
    } catch (Exception e) {
    return null;
    }
    } public static String GB2312_TO_BIG5(String gbString) {
    byte[] b; Charset.availableCharsets();
    try {
    b = gbString.getBytes("GB2312");
    return new String(b, "Big5");
    } catch (Exception e) {
    return null;
    } }
      

  2.   

    这效果不怎么好弄出来给个链接,这位牛人写的很清楚,主要掌握一些基础知识即可!
    http://blog.csdn.net/zhouyong80/archive/2007/11/24/1900100.aspx
      

  3.   

    字符串是以unicode的形式保存的,把字符串转换成byte数组和把byte数组转换成字符串时,必须保证两个转换用的编码一致,否则会出现乱码。至于这个编码是什么并没有关系。汉字也可以用ISO-8859-1转换。如
    //以默认编码转换,ISO-8859-1
    b = utfString.getBytes();
    return new String(b);
    //以GB2312编码转换
    b = utfString.getBytes("GB2312");
    return new String(b, "GB2312");
    //以UTF-8编码转换
    b = gbString.getBytes("UTF-8");
    return new String(b, "UTF-8");
    //以Big5编码转换
    b = gbString.getBytes("Big5");
    return new String(b, "Big5");
    以上四个都能正确返回汉字。确切说能正确返回任何字符。