簡繁轉換

此頁由dukelec於2010年8月18日 (星期三) 06:28的最後更改。 在Linux Wiki用戶Chenxing的工作基礎上。

出自Linux Wiki

漢字簡繁轉換的意義不言而喻,本文討論在Linux中實現簡繁轉換的幾種方法之優劣。

提示:
本文所提供的方法都不完善,如果你有更好的方案,歡迎修改本文。

目錄

OpenOffice.Org的轉換功能

OpenOffice.Org提供簡繁功能,使用很方便(在工具->語言->中文簡繁轉換)。

google翻譯功能

http://translate.google.com/ google翻譯也可以做簡繁轉換,效果分析見後面。


使用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

使用cconv轉換

http://code.google.com/p/cconv/

ubuntu用戶可以用命令“sudo apt-get install cconv”安裝。

cconv是建立在iconv之上,增加了詞語轉換能力,效果分析見後面。

使用cconv進行簡繁轉換的方法為:

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

不同方法比較

測試樣例

為了方便比較,選取下面一段話做測試:

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

正確的轉換結果是:

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

測試樣例中第一句話很普通,用來檢測能否完成轉換的基本功能;第二行“幹活”與“乾杯”兩個詞的“干”對應的繁體字不一樣,這可以檢測程序是否進行了語義分析;“西太后”的“后”簡繁相同,同樣用於檢測簡繁轉換的準確性。

另外,第二句話中有空格若干,用來判斷轉換程序是否能保留原格式。

測試結果

OpenOffice.Org

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

google翻譯

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

iconv

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

cconv

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

不難發現,對於多解的字,OpenOffice.Org未轉換,iconv按單一規則轉換,而cconv與google翻譯則能正確轉換。

但是google翻譯未能保持原格式,而OpenOffice.Org、iconv和cconv則很好地保留了原格式。

另外,iconv不能處理混合編碼的文件。

使用cconv轉換20M含部分亂碼的文本文件耗時僅數秒,且效果非常理想,不會像iconv一樣遇到“ә”等非常規字符或亂碼字符時報錯停止轉換。(推薦使用)

各種轉換工具的效果大致評述如下,請按照自己的需要選用。

简体繁体转换
广告