怎样把GBK编码格式的java转成UTF8

把GBK编码格式的java转成UTF8的方法:遇到GBK文件直接拿去转成utf-8,传入需要转换的文件地址srcFileName和转出的文件地址destFileName,即可得到utf-8的文件。

怎样把GBK编码格式的java转成UTF8-Worktile社区
  • 遇到GBK文件直接拿去转成utf-8
  • 传入需要转换的文件地址srcFileName和转出的文件地址destFileName
  • 即可得到utf-8的文件
 public static void transferFile(String srcFileName, String destFileName) throws IOException {
 
        String line_separator = System.getProperty("line.separator");
        
        FileInputStream fis = new FileInputStream(srcFileName);
        
        StringBuffer content = new StringBuffer();
        
        DataInputStream in = new DataInputStream(fis);
        
        BufferedReader d = new BufferedReader(new InputStreamReader(in, "GBK"));// , "UTF-8"
        String line = null;
        
 
        while ((line = d.readLine()) != null)
            
            content.append(line + line_separator);
 
        d.close();
        
        in.close();
        
        fis.close();
        
        Writer ow = new OutputStreamWriter(new FileOutputStream(destFileName), "utf-8");
        
        ow.write(content.toString());
        
        ow.close();
    }

延伸阅读

乱码的原因

gbk的中文编码是一个汉字用【2】个字节表示,例如汉字“内部”的gbk编码16进制的显示为c4 da b2 bf

utf-8的中文编码是一个汉字用【3】个字节表示,例如汉字“内部”的utf-8编码16进制的显示为e5 86 85 e9 83 a8

因此,gbk是无法直接转换成utf-8。

文章标题:怎样把GBK编码格式的java转成UTF8,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37284

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编
上一篇 2023年2月7日 下午4:31
下一篇 2023年2月7日 下午4:54

相关推荐

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部