简繁转换

此页由Linux Wiki用户Chenxing于2012年12月18日 (星期二) 08:01的最后更改。 在lzhdukelec的工作基础上。

出自Linux Wiki

提示:此文已超过 12 年(4387 天)未更新,如发现内容过时或有误,欢迎改进:)

汉字简繁转换的意义不言而喻,本文讨论在Linux中实现简繁转换的几种方法之优劣。

目录

OpenCC

OpenCC 是跨平台、多语言的开放中文转换库,除了基本的简繁转换功能外,用户还可以选择对不同用词习惯和异体字的处理方式。

OpenCC 还提供方便的网页转换界面

OpenOffice.Org的转换功能

OpenOffice.Org提供简繁功能,使用很方便(在工具->语言->中文简繁转换)。

Google翻译功能

Google翻译也可以做简繁转换,效果分析见后面。

使用cconv转换

cconv建立在iconv之上,增加了词语转换能力,效果分析见后面。

Ubuntu用户可以用命令sudo apt-get install cconv安装。

使用cconv进行简繁转换的方法为:

cconv -f UTF8-CN -t UTF8-HK jian.txt -o fan.txt

使用iconv转换

iconv是用来转换编码的小工具。现在的iconv在执行编码从gb2312到big5的转化时,实现了简繁转换。

使用iconv进行简繁转换的方法为:

iconv -f gb2312 -t big5 gb_input.txt > big5_output.txt

如果原来的文件是UTF-8编码的,则需要使用命令:

iconv -f utf8 -t gb2312 jian.txt | iconv -f gb2312 -t big5 | iconv -f big5 -t utf8 > fan.txt

注意一定要先转化成gb2312,再由gb2312转成big5。

繁简转换则类似:

iconv -f utf8 -t big5 fan.txt | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 > jian.txt

如果有zh-autoconvert,则可以用它代替中间的iconv,如

iconv -f utf8 -t big5 fan.txt | autogb | iconv -f gbk -t utf8 > jian.txt

iconv -f utf8 -t gbk jian.txt | autob5 | iconv -f big5 -t utf8 > fan.txt

不同方法比较

Note.gif
注意:
由于此处涉及简繁对比,请确保在左侧语言处选择“不转换”。

测试样例

为了方便比较,选取下面一段话做测试:

中华人民共和国是工人阶级领导的、以工农联盟为基础的人民民主专政的社会主义国家。
干活 干杯  西太后   后天

正确的转换结果是:

中華人民共和國是工人階級領導的、以工農聯盟為基礎的人民民主專政的社會主義國家。
幹活 乾杯  西太后   後天

测试样例中第一句话很普通,用来检测能否完成转换的基本功能;第二行“干活”与“干杯”两个词的“干”对应的繁体字不一样,这可以检测程序是否进行了语义分析;“西太后”的“后”简繁相同,同样用于检测简繁转换的准确性。

另外,第二句话中有空格若干,用来判断转换程序是否能保留原格式。

测试结果

OpenCC

中華人民共和國是工人階級領導的、以工農聯盟爲基礎的人民民主專政的社會主義國家。
幹活 乾杯  西太后   後天

OpenOffice.Org

中華人民共和國是工人階級領導的、以工農聯盟為基礎的人民民主專政的社會主義國家。
干活 干杯  西太后   后天

Google翻译

中華人民共和國是工人階級領導的、以工農聯盟為基礎的人民民主專政的社會主義國家。
幹活乾杯西太后後天

iconv

中華人民共和國是工人階級領導的、以工農聯盟為基礎的人民民主專政的社會主義國家。
幹活 幹杯  西太後   後天

cconv

中華人民共和國是工人階級領導的、以工農聯盟為基礎的人民民主專政的社會主義國家。
幹活 乾杯  西太后   後天

不难发现,对于多解的字,OpenOffice.Org未转换,iconv按单一规则转换,而cconvOpenCC和Google翻译则能正确转换。

但是Google翻译未能保持原格式,而OpenOffice.Org、iconvcconv则很好地保留了原格式。

另外,iconv不能处理混合编码的文件。

使用cconv转换20M含部分乱码的文本文件耗时仅数秒,且效果非常理想,不会像iconv一样遇到“ә”等非常规字符或乱码字符时报错停止转换。(推荐使用)

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
个人工具
简体繁体转换