怎样把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

相关推荐

  • git是什么工具

    Git是一款分布式源代码管理工具(版本控制工具) 。git 是一个分布式版本控制软件,与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。 什么是git git 是一个分布式版本控制软件,最初…

    2022年12月27日
    6300
  • 现阶段的编程语言都有什么缺陷

    Python的劣势是速度较慢,且有一些特定情况下才会出现(无法重现)的 bug;C/C++C/C++的劣势是学习难度大,且拥有大量极为复杂的功能交互方式,容易造成资源浪费;Java的劣势是占用大量内存,并且启动时间较长;C#的劣势是跨平台能力太差,且在国内就业环境不太好。 Python 优势:简单易…

    2023年2月22日
    1500
  • 程序员为什么要用Linux环境编程

    程序员用Linux环境编程是因为:1、自由开源;2、稳定性;3、安全;4、成本低;5、操作方便。自由开源指Linux操作系统完全免费,可以用作开源软件,通过开源,您可以轻松查看创建Linux可用代码的内核,也可以修改代码来修复任何错误等。 1、自由开源 Linux操作系统完全免费,可以用作开源软件,…

    2023年1月27日
    6600
  • 虚拟地址与物理地址的区别与联系是什么

    一、虚拟地址与物理地址的区别:1、定义不同;2、位置不同;3、访问不同;4、地址空间不同。定义不同是指,CPU 在程序运行时生成虚拟地址,而物理地址是内存中的一个位置。二、虚拟地址与物理地址的联系:通过地址绑定,虚拟地址可以映射到物理地址。 一、虚拟地址与物理地址的区别 1、定义不同 虚拟地址:CP…

    2023年3月28日
    800
  • Java语言为什么在企业软件领域有很强的生命力

    Java语言在企业软件领域有很强的生命力基于以下几点:1、对象化编程;2、跨平台;3、大型服务器和集群技术。其中,对象化编程是指ava可支撑逻辑复杂的大型网络应用,适合大中型团队开发。 一、对象化编程 Java可支撑逻辑复杂的大型网络应用,适合大中型团队开发。最适用于逻辑复杂数据庞大的大型ERP、淘…

    2023年2月9日
    2600
  • 基于对象和面向对象的编程语言到底有什么区别

    区别是:Js是基于原型的面向对象(prototype-based),而Java,C++这种则是基于类的面向对象(class-based),它们都是面向对象语言。基于原型的面向对象是没有类的,只有对象。没有类自然也没有继承,但是依然可以多态,只不过不是由基类约束,而是直接通过名字查找来多态。 Js是基…

    2023年2月17日
    2100
  • 服务管理是什么

    服务管理是面临服务竞争社会而产生的一种新的管理模式。它虽然已经历长达30多年的研究过程,虽然在产生的必要性及其概念,特征和一些理论探讨方面取得了众多研究成果,但是至今尚未形成完整的学科体系。 服务管理是面临服务竞争社会而产生的一种新的管理模式。它虽然已经历长达30多年的研究过程,虽然在产生的必要性及…

    2022年11月6日
    3600
  • 软件测试bug管理工具有哪些

    软件测试bug管理工具有:1、PingCode;2、JIRA;3、Trac;4、Bugtags;5、QC;6、禅道;7、Bugzilla;8、iClap。PingCode是新一代智能化研发管理工具,具备专业的缺陷管理模块,能够有效帮助团队解决缺陷管理问题。 1、PingCode PingCode是新…

    2023年1月31日
    12800
  • 白山云科技CTO童剑:积极是态度更是方法,怀念4点起床敲代码的日子

    文| babayage 编辑 | 笑 笑 童剑记忆力惊人又极具耐心,采访持续了近三小时,他慷慨分享了无数成长细节,可惜篇幅所限,本文仅能记下十之一二。 天生极客的非典型大学生活 看书看报看杂志 搞机搞网搞实验 童剑几乎是碰到电脑的第一秒就觉醒了天赋血脉:极客。大学四年,他和计算机谈了一场风花雪月的恋…

    2022年3月20日
    19300
  • 什么是任务管理法

    任务管理法是指以完成任务为核心而产生的管理方法和手段,在这种方法中完成任务是第一管理的目的。泰罗科学管理理论中所倡导的科学管理方法其实质就是任务管理法,任务管理法是人们最早研究的一种科学管理方法。 任务管理法是人们最早研究的一种科学管理方法,由美国管理学家泰勒提出。任务管理法的基本内容,可以概括为通…

    2022年11月7日
    8100

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部