批量修改文件编码
目录
第1章说明
1 简介
在Windows上开发程序,各种编码可谓百花齐放:VC++6.0只能使用ANSI编码;Qt、eclipse最好使用带BOM的UTF-8编码;Android Studio最好使用不带BOM的UTF-8编码……
还有换行符,Mac、Linux、Windows三者完全不同。从网上下载的开源代码,很有可能就是Linux的换行符\n,在Windows的记事本里显示时只有一行。
一个个的去修改这些文件的编码、换行符,是很繁琐的一件事情。为此,笔者编写了程序vcHelper,可以批量的转换编码、换行符。
2 下载
首先进入百度网盘:http://pan.baidu.com/s/1gd7XDkf
然后依次进入public、Tools、vcHelper,下载最新版的压缩包文件。
3 使用
本节将演示如何将eclipse里的Java源代码文件(带BOM的UTF-8编码),转换为Android Studio需要的格式(不带BOM的UTF-8编码)。
进入源代码所在目录,搜索源代码文件(*.java)。然后按下Ctrl+A全选,再按下Ctrl+C复制这些文件名称到剪贴板内。如下图所示:
图1
运行vcHelper,进入"编码与换行"页面。按下图进行配置。按下Ctrl+V,粘贴剪贴板内的文件,即可实现文件编码的转换。
图2
上图的转换结果里,2/2的分母表示共有两个文件,分子表示有两个文件被改写。
注意:vcHelper会直接覆盖原文件,所以使用它之前请备份好Java源代码。
4 代码页选择
注意:ANSI编码与没有BOM的UTF-8编码,有时会产生歧义。此时,就需要人工选择了。
如:ANSI编码(其实是GBK编码)的"联通"可以理解为UTF-8编码。这样的文本文件,使用记事本、UltraEdit打开时,将使用UTF-8编码,结果将显示乱码。如下图所示。
图3
使用vcHelper转换这类文件的编码时,会要求用户选择代码页。如下所示:
图4
上图表明:"C:\Users\Administrator\Desktop\联通.txt"这个文件,用ANSI编码解释就是"联通",用UTF-8编码解释就是"��ͨ"。单击"选择ANSI"按钮,就以ANSI编码为准;单击"UTF-8"按钮,就以UTF-8编码为准。
5 设置ANSI代码页
在中文Windows上,默认的ANSI代码页是GBK。一般是不用修改这个选项的。不过,有时需要修改。
如:将GB18030编码转换为GBK编码,请按下图所示进行设置:
图5
如:将GBK编码转换为Big5编码,请按下图所示进行设置:
图6