Linux下对文件进行编码转换(简体→繁体,繁体→简体,简体繁体

其实说到编码转换,那就不得不说到iconv这个库了,如果已经安装了这个工具,那在命令行下直接打这个命令就行了。下面就用这个工具来实现中文系统下的常用编码转换。

首先,来了解一下iconv这个命令的使用方法。命令格式如下

iconv -f 编码 -t 编码 文件名

-f 参数指所要转换文件的文件编码,当然必须事先知道文件的编码,不然不能正确转换。

-t 参数指希望转换成的文件编码,当然应该知道所指定文件的编码能不能转换成该编码,不然转换后的结果可能一无所用。比如你将中文编码转换成西欧的某种编码的话,是没有什么意义的。

文件名 就是你希望转换的文件的名称的,当然也可以包含路径了。

比如将a.txt文件用GB2312(简体)转换成BIG5(繁体),命令如下:

$iconv -f GB2312 -t BIG5 a.txt

当然也可以使用iconv -l来查看都有哪些编码可用,命令如下:

$iconv -l

那么,如果不知道文件的编码怎么办?比如我的系统中有繁体字编码的文件,也有UTF-8编码的文件,又有简体字编码的文件,但是系统说使用的编码是简体的。怎样把所有文件的编码都转换成简体字,或者怎样将所有文件的编码变成繁体字编码,或者怎样将所有的文件都转换成UTF-8编码呢?下面的这段程序将告诉你去怎样实现这个功能。

相关推荐