怎样将gb2312编码的字符串转换为utf-8编码的字符串

 我来答
HXnq5277
2017-03-13 · TA获得超过227个赞
知道答主
回答量:326
采纳率:0%
帮助的人:79.4万
展开全部

Java中字符串转码,根据实际运用的环境有以下三种方式


  1. 使用Java.lang.String这是最常用的方法,先用对应编码获取字节,然后重新构造新编码,示例代码如下:
    String s = "清山";  
    byte[] b = s.getBytes("utf-8");//编码  
    String sa = new String(b, "gb2312");//解码:用什么字符集编码就用什么字符集解码

  2. java.io.InputStreamReader/OutputStreamWriter:桥转换读写文件的应用中,可以使用这种方式,直接在IO流构造中转换,示例代码如下:

    InputStream is = new FileInputStream("C:/项目进度跟踪.txt");//文件读取  
    InputStreamReader isr = new InputStreamReader(is, "utf-8");//解码  
    OutputStream os = new FileOutputStream("C:/项目进度跟踪_gb2312.txt");//文件输出  
    OutputStreamWriter osw = new OutputStreamWriter(os, "gb2312");//开始编码

  3. java.nio.Charset使用nio中的Charset转换字符,示例代码如下:
    Charset inSet = Charset.forName("utf-8");  // 解码字符集 
    Charset outSet = Charset.forName("gb2312");  // 编码字符集  
    CharsetDecoder de = inSet.newDecoder();  // 解码器
    CharsetEncoder en = outSet.newEncoder();// 编码

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式