原作者:游蓝海,liuzhaoyzz修改,源文件编码自动检测,静态编译不需要什么运行库。
修改后的exe文件只有175KB,源代码也一起分享出来。https://share.weiyun.com/58H0Ii2
https://gitee.com/liuzhaoyzz/encodeconv
发行版里面有encodeconv.exe,还有示例。
注意源文件如果是utf-8编码的,必须是带BOM的,否则转换会出现乱码。
目前支持的编码格式有: gbk,big5,utf-7,utf-8,ucs2,ucs-2le,ucs-2be。当然支持其他编码格式也很容易。
用法: encodeconv -f fname [-o][output file] [-s][src encode] [-d][dest encode] [-nb] encodeconv -f fname [-o][output file] [-s] [-d][dest encode] [-nb] 省略[src encode]则会自动检测源文件编码格式。
encodeconv -p path filter [-r] [-o][output path] [-s][src encode] [-d][dest encode] [-nb]
-f: 要转换的是一个文件。
-p: 对目录中的文件进行编码转换。此时必须提供过滤器(filter),以判断哪些文件需要转换。使用-r参数,可以递归到子目录。
filter: 文件扩展名过滤器,多个扩展名时,中间用分号隔开。 如: txt;h;cpp
-r: 对子目录也进行转换.
-o: 输出文件或路径。
-s: 源文件编码格式, auto,gbk,big5,utf-7,utf-8,ucs2,ucs-2le,ucs-2be,auto=自动检测。
-d: 目标文件编码格式,默认utf-8。
-nb: 不给文件头追加bom标示。
例如,
转换一个文件: encodeconv -f test.txt -o test2.txt -s gbk -d utf-8
源文件编码自动检测:encodeconv -f test.txt -o test2.txt -s auto -d utf-8
转换一个目录下的所有文件: encodeconv -p c:/test/ txt;h;cpp -o d:/test/ -s gbk -d utf-8 -r