发布一个批量转码工具:gbk2utf8

本文 http://blog.codeg.cn/2015/01/03/gbk2utf8-by-golang/ 是作者zieckey在研究和学习相关内容时所做的笔记,欢迎广大朋友指正和交流! 版权所有,欢迎转载和分享,但请保留此段声明。

Linux下的iconv是针对单个文件处理,但是转码后的数据直接输出到STDOUT,不方便批量处理。gbk2utf8工具可以针对一个目录以及递归遍历所有子目录下的所有文件进行批量处理,并且直接修改原始文件为UTF-8编码。为了避免错误,会将原始文件备份为*.bak文件。

当前其实现是直接调用iconv命令实现,后期可以考虑纯粹使用golang实现。另外,如果将来有需要,可以直接将iconv的几个参数如-f -t等也一并实现了,从而形成goiconv,一个通用的批量原地转码工具。

代码实现其实非常简单,总共不过100来行golang代码,地址请见: https://github.com/zieckey/tools/tree/master/gbk2utf8

使用方法:

  • gbk2utf8 处理当前目录以及递归遍历所有子目录下的所有文件

  • gbk2utf8 *.cc 处理当前目录以及递归遍历所有子目录下的所有形如*.cc

  • gbk2utf8 somedir/* 处理somedir目录以及递归遍历所有子目录下的所有文件