gbk文件==>utf-8 小工具

GBK到UTF-8编码转换工具:ChineseCodeLib 本文还有配套的精品资源,点击获取 简介:编码是IT行业数据存储和传输的关键,而将GBK编码转换为全球通用的UTF-8编码对于处理中文字符尤其重要。本工具或库提供的编程接口允许开发者在代码中实现GBK与UTF-8编码的相互转换。通过"ChineseCodeLib.cpp"和"ChineseCodeLib.h"文件,开发者能够使用预定义的类和函数来转换编码,无需关注底层编码细节... 阅读详情

在用eclipse引入工程的时候,引入张孝祥老师java高级特性的代码,.java文件格式是ANSI格式的, 包含中文,如果把这些代码

引入到工程里面,工程编码格式是utf-8,会出现乱码,所以在引入之前,先将所有的ANSI的文件,改成UTF-8编码格式
于是写了一个工具类,将工程源代码路径给程序代码,该工具类会生成UTF-8文件编码格式的文件,存放到目的路径。

注意:该工具类主要目的是改变.java文件的编码,如果不是文本文件,比如jar文件等,转换后的文件将有问题,建议jar文件直接从源码中拷贝

package net.dhh.util;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;

/**
 * 编码转换器
 * 问题描述:
 * 在用eclipse引入工程的时候,引入张孝祥老师java高级特性的代码,文件格式是ANSI格式的, 包含中文,如果把这些代码
 * 引入到工程里面,工程编码格式是utf-8,会出现乱码,所以在引入之前,先将所有的ANSI的文件,改成UTF-8编码格式
 * 于是写了一个工具类,将工程源代码路径给程序代码,该工具类会生成UTF-8文件编码格式的文件,存放到目的路径
 * @author dhh
 *
 */
public class CodingConvertUtil {
	public static void main(String[] args) {
		String srcDir = "G:\\2_Java高级特性\\java 深入教程 -张孝祥\\张孝祥Java高新技术_73_源代码\\javaenhance";   //工程源代码
		String destDir = "D:/desc";   //转换编码格式后的存放目录,该目录可以不存在
		createNewFile(srcDir, destDir);
		System.out.println("转换文件编码成功!!");
	}
	
	
	
	/**
	 * 生成新的文件夹
	 * @param srcDir 源目录,一定是文件夹,不能这个工具类就没意义了,单个文件,直接另存为就完事了
	 * @param destDir 目的目录
	 */
	public static void createNewFile(String srcDir, String destDir){
		File srcFile = new File(srcDir);
		if(srcFile.isDirectory()){
			String name = srcFile.getName();
			File directory = new File(destDir+"/" + name);
			directory.mkdirs();
			
			File[] files = srcFile.listFiles();
			if(files!=null && files.length>0){
				for(File f : files){
					createNewFile(f.getAbsolutePath(), directory.getAbsolutePath());
				}
			}
		}else if(srcFile.isFile()){
			String filename = srcFile.getName();
			if(filename!=null && !filename.equals("")){
				if(filename.endsWith(".java")){   //如果是java文件
					//改文件的编码
					covert(srcFile, new File(destDir + "/" + filename));
				}else{
					//其他编码,直接原样保存
					saveDirectly(srcFile, new File(destDir + "/" + filename));
				}
			}
		}else{
			System.out.println("不是正确的目录");
		}
	}
	
	/**
	 * 文件编码格式转换,转成UTF-8格式文件
	 * @param srcDir 
	 * @param destDir 
	 */
	private static String covert(File srcFile ,File destFile) {
		BufferedReader reader = null;
		BufferedWriter writer = null;//定义一个流
		try {
			InputStreamReader isr  = new InputStreamReader(new FileInputStream(srcFile), Charset.forName("GBK"));
			reader = new BufferedReader(isr);   //此时获取到的reader就是整个文件的缓存流
			FileOutputStream fos = new FileOutputStream(destFile);
			writer = new BufferedWriter(new OutputStreamWriter(fos, Charset.forName("UTF-8")));
			
			String str = "";
			while ((str = reader.readLine())!= null){ // 判断最后一行不存在,为空结束循环
				writer.write(str + "\r\n");
			};
			System.out.println("创建UTF-8格式文件:" + destFile.getName());
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			try {
				if(writer!=null) writer.close();
				if(reader!=null) reader.close();
			} catch (Exception e2) {
			}
		}
		return null;
	}
	
	/**
	 * 针对不是.java结尾的文件,直接在目的目录保存文件
	 * @param srcFile
	 * @param destFile
	 * @return
	 */
	private static String saveDirectly(File srcFile ,File destFile) {
		BufferedReader reader = null;
		BufferedWriter writer = null;//定义一个流
		try {
			InputStreamReader isr  = new InputStreamReader(new FileInputStream(srcFile));
			reader = new BufferedReader(isr);   //此时获取到的reader就是整个文件的缓存流
			FileOutputStream fos = new FileOutputStream(destFile);
			writer = new BufferedWriter(new OutputStreamWriter(fos));
			
			String str = "";
			while ((str = reader.readLine())!= null){ // 判断最后一行不存在,为空结束循环
				writer.write(str + "\r\n");
			};
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			try {
				if(writer!=null) writer.close();
				if(reader!=null) reader.close();
			} catch (Exception e2) {
			}
		}
		return null;
	}
	
}


批量文件转码工具(支持 GBK,UTF-8 转换) 批量文件转码工具(支持 GBK,UTF-8 转换)。 批量文件转码工具,支持GBK,UTF-8转换,window下面使用,亲测可以使用!!!!!!!!!! 批量 文件转码 工具 GBK UTF-8 立即下载

相关推荐

GBK、UTF-8编码转换工具

本程序的目的是为了把文件编码格式统一。如果文件内容编码不同,则也不能保正内容也正常转换 缺点:比如iso-8859-1的内容转换成utf-8。则可能失败。。 优点:java文件,txt/xml/dat文件。只要都是能识别的内容,即转换成功就更大。

批量转化GBK编码至UTF-8编码工具【Python】

python 实现自动识别编码并且批量转换为utf-8 编码,支持指定后缀名和保留树状结构

weixin_44616888的博客 1108

恭喜,恭喜,iMouse爱鼠XP版全面发布测试,苹果手机自动化测试必须

电脑控制苹果手机,免越狱,免签名,自动化测试

qq_41057894的博客 1063

批量文件GBK转UTF-8

一直用Eclipse做web开发,之前用的是2020年的版本,这两天更新到了2023,结果就悲剧了:项目在2020年的Eclipse上默认使用的是GBK编码,但2023年的版本上已经不能选GBK了!在极少的情况下会出现不转换的问题,但总的来说是完全可用的。如果发现不转换的情况,可以用vscode对付一下,另外也可以用UltraEdit打开文件,拷贝粘贴回来就可以了。多次升级电脑上各种玩意儿的翻车经历已经让我在更换开发工具之前做了完整的备份,所以,虽然情况比较让人难受,还是可以抢救一下的。

anod的专栏 1347

告别功能限制:Win11家庭版无损升级专业版全攻略

本文详细介绍了如何将Win11家庭版无损升级到专业版的全过程,包括升级前的准备、两种官方升级方案(Microsoft Store购买和使用产品密钥)以及命令行升级方法。升级后可解锁远程桌面、组策略编辑器和BitLocker加密等高级功能,适合需要更多商业功能的用户。

weixin_32822843的博客 702

高效搭建微信公众号爬虫全流程

微信公众号爬虫系统成功完成功能测试验证。该系统具备完整的数据采集与管理能力,支持多公众号内容爬取、数据存储与统计分析。通过命令行界面可执行爬取操作(如量子位、新智元等公众号),查看最新文章列表和系统统计信息。测试显示SQLite数据库正常存储数据,所有核心功能(多源支持、文章检索、数据统计)均运行良好。系统采用模块化设计,扩展性强,为后续接入真实API或网页爬取奠定了坚实基础,是AI内容聚合的优质开发平台。🎉

weixin_44975687的博客 1554

文件批量从gbk转成utf8的工具

对于 BIG5 编码的文件,若执行 UTF-8 转换,保存到 UTF-8 文件中的是伪编码,实际上是 GBK 繁体字的 UTF-8 编码,而非 BIG5。这么做的原因在于在简体 Windows 系统中,我还没有找到好的办法对BIG5 进行 UTF-8 编码,只能对 GBK 进行 UTF-8 转换,使之看起来象一个繁体字文件。某天,应老板的要求,需要将一个 GB 编码的 WEB 应用改变成 UTF-8 编码,整个 WEB 程序涉及 300 多个 ASP 和 HTML 文件…”的方式变成 UTF-8 编码。

hello world 1742

Keil AC6编译器独立安装与配置指南:不升级Keil MDK也能用上新工具链

本文详细介绍了如何在不升级Keil MDK的情况下独立安装和配置Arm Compiler 6(AC6),帮助嵌入式开发者充分利用AC6的编译速度、代码密度和现代语言支持优势。通过零侵入式解决方案,开发者可以在现有环境中灵活切换编译器版本,提升开发效率。

weixin_30872157的博客 552

【免费下载】 轻松实现GBK到UTF-8转码:GBK to UTF-8小工具推荐

在日常的开发和数据处理过程中,我们经常会遇到需要将文本文件从GBK编码转换为UTF-8编码的需求。无论是为了兼容性还是为了更好地支持国际化,这种转码操作都是必不可少的。今天,我们将向大家推荐一款高效、易用的开源工具——**GBK to UTF-8**,帮助你轻松完成这一任务。 ## 项目介绍 **GBK to UTF-8** 是一款专门用于将文本文件从GBK编码转换为UTF-8编码的小工具。它...

gitblog_00586的博客 2204

Unity 编辑器篇|(四)编辑器拓展GUI类 (全面总结 | 建议收藏)

GUI 类是 Unity GUI 的接口,并且具有手动定位功能。“即时模式”GUI 系统(也称为 IMGUI)是一个完全独立的功能系统,不同于 Unity 基于游戏对象的主 UI 系统。IMGUI 是一个代码驱动的 GUI 系统,主要用作程序员的工具。为了驱动该系统,需在实现脚本上调用 OnGUI 函数即时模式 GUI 系统常用于:创建游戏内调试显示和工具。为脚本组件创建自定义检视面板。创建新的编辑器窗口和工具以扩展 Unity 本身。

游戏开发小Y的博客 12万+

【四足机器人项目实战】MIT无刷电机FOC硬件电路设计

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、MCU最小系统--STM32F446RE1.usb串口通讯连接口+程序下载连接口2.MCU电源滤波二、磁编码器角度传感器三、三相驱动桥四、CAN通讯收发器电路五、温度ADC检测六、电源滤波及分压电路1、DC电源输入端2、DC电源滤波电路3、DC电源分压电路4、三相绕线接线端总结参考资料 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对

qq_35635374的博客 7061

linux下GBK->UTF-8文件编码批量转换脚本

nux命令行下查看看文件的编码 enca  文件名 linux文件名编码批量转换 convmv -f 源编码 -t 新编码 [选项] 文件名 常用参数: -r 递归处理子文件夹 –notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。 –list 显示所有支持的编码 –unescap 可以做一下转义,比如把%20变成空格

patrick_wei的专栏 4508

【图像拼接(Image Stitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用方法、阅读顺序、创新思路、文章汇总、源码汇总、数据集汇总等。总之,【图像拼接论文相关】看这一篇就够了

为什么会有这篇文章?因为专栏简介里写不下太多东西,只能通过这篇文章和大家交流,算是一个专栏阅读指南吧。说点心里话本来吧,我只想用优快云来记录自己学习【图像拼接】领域论文的过程,对每篇文章有个细致的理解,方便自己反复查阅。设置为付费也是因为涉及论文和本人其他项目需要,防止查重和其他问题,所以价格最开始设置的是专栏付费价格里最高的。起初,确实没有人看,一切也都平淡地度过着。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 4万+

Linux下GBK->UTF-8文件编码转换,文件后缀名修改

文件后缀名修改 for i in *.ff; do mv $i ${i%%\.*}.h; done  Linux命令行下查看看文件的编码 enca 文件名 Linux文件名编码批量转换 convmv -f 源编码 -t 新编码 [选项] 文件名 常用参数: -r 递归处理子文件夹 --notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。

linking530的专栏 3182

2025年06月中国电子学会青少年软件编程(Python)等级考试试卷(二级)答案 + 解析

2025年06月中国电子学会青少年软件编程(Python)等级考试试卷(二级)答案 + 解析

伶俐角少儿编程 458

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux下GBK->UTF-8文件编码批量转换命令

个人博客: http://demi-panda.com Posted 2013-01-12  |  2条评论  |  By 熊猫人 Shell  Ubuntu  UTF-8  GBK  编码转换    在工作中,经常会遇到使用操作系统不一样的环境,从而导致在不同环境下的文件编辑的编码是不一样的,Windows默认是GBK编码格式,Linux默认是UTF-8的格

a280606790的专栏 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Linux字符串转码utf8,Linux下GBK->UTF-8文件编码转换方法

Linux命令行下:查看文件的编码enca文件名;Linux文件名编码批量转换;convmv -f 源编码; -t 新编码[选项]文件名。常用参数:-r 递归处理子文件夹--notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验--list 显示所有支持的编码--unescap 可以做一下转义,比如把%20变成空格比如我们有一个utf8编码的文件名,转换成GBK编码,命...

weixin_39611769的博客 1873

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JAVA编码--Gbk-->Utf8

public static byte[] gbk2utf8(String chenese){    char c[] = chenese.toCharArray();          byte [] fullByte =new byte[3*c.length];          for(int i=0; i           int m = (int)c[i];           Stri

自由引导码民! 763

LINUX GBK->UTF-8文件编码批量转换脚本[转]

LINUX 转换文件编码 GBK->UTF-8文件编码批量转换脚本find default -type d -exec mkdir -p utf/{} \;find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;这两行命令将default目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在ut...

weixin_30666753的博客 200

ubuntu下txt文件编码转换、查询(gbk/ISO-8859->utf-8)

在ubuntu下运行python程序,总是报错,说编码不对不是utf-8(貌似是因为汉字部分出问题了),搜集资料后完成了转换。 1.文件编码查询 $ file 199801.txt 199801.txt: ISO-8859 text, with very long lines, with CRLF, LF line terminators 2.完成转换 $ sudo iconv -f ...

kawhi849 4904

数据库编码转换 GBK------>UTF8。

<br />数据库编码转换 GBK------>UTF8。  1.导出4.0兼容sql文件,其中latin1是原来数据库的编码,--extended-insert=FALSE是为了导出为多行Insert,不然可能因为Insert语句过长出错;  mysqldump -uroot -p --quick --compatible=mysql40 --default-character-set=latin1 --extended-insert=FALSE test1 > d:/bak.sql   2.建立目标

子剑灵学技术 1450
上一篇: spring 事务注解配置以及实践
下一篇: Intellij Idea 2017.1.3版本个人设置步骤
wive
博客等级 码龄14年 33粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值