Java中,
如何将utf-8编码的字符串,转化成gb2312编码的字符串?

解决方案 »

  1.   

    str = new String(str.getBytes("UTF-8"), "GB2312");
      

  2.   

    String s = "12465";
    new String(s.getBytes(),"gb2312");试下吧!
      

  3.   

    str = new String(str.getBytes("UTF-8"), "GB2312");
      

  4.   

    搂主提这个问题,还有兄弟们的回答,都说明有概念上的误解。推荐文章:
    http://www.regexlab.com/zh/encoding.htm
      

  5.   

    str = new String(str.getBytes("UTF-8"), "GB2312");
      

  6.   

    我的问题应该描述的再详细一些.
    就是我想下载一个html页面, 下载后才知道其中的页面编码的,有的是utf-8有的是gb2312,
    若在下载前指定编码方式:
    in = new BufferedReader(new InputStreamReader(socket.getInputStream(), "utf-8"));
    则后面读出的内容是没问题的;
    若下载前未指定编码方式,则系统用默认的编码方式:
    in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    尽管也能正确解析出页面头部的内容,也可以知道其编码方式,但如果这时候才知道是utf-8,那就已经迟了,因为in里面存储的是原始流按系统默认的编码方式的字符了.如何才能正常显示这些文本呢?