Python – 文字檔簡繁轉換程式

在 Windows 下面,有個好用的工具叫做 ConvertZ 可以轉換檔案編碼,而且除了轉換編碼以外,它也會自動轉簡體繁體文字,我常常拿這個程式來轉換一些文字檔,像是字幕,說明檔…等等。

最近我家裡的電腦改用 Mac OS X ,發現 Mac OS X 缺少了滿多我生活中必要的小工具程式 (要不然就是要收費) ,所以我就只好自力救濟,寫隻程式來暫解一下。

當然, Mac 下也有 iconv 這類的工具程式可以轉換文字的編碼,但它只會做編碼的轉換,沒辦法做簡體繁體文字的替換,舉個例子:

圖片中的 gbk 是個檔案,內容是「日观邻全赵,星临俯旧吴。鬲津开巨浸,稽阜镇名都」,編碼是 gb2312 ,所以在 utf8 的 console 下面看起來會是亂碼,經過 iconv 轉換之後,就可以正常顯示,但有個很大的問題,就是文字依然是「簡體」。雖然我對簡體字不會過敏,但是日常生活還是習慣看繁體字,所以這並不完全符合我的需求。 (備註)

晚上找了差不多半小時,發現都沒有符合我的需求的程式,所以我決定乾脆自己寫一隻比較快。

請參訪專案網頁:convert2utf8 – Google Code. 下載解壓縮後,安裝方法:


chmod +x convert2utf8.py
sudo cp convert2utf8.py /usr/bin/
sudo ln -s /usr/bin/convert2utf8.py /usr/bin/convert2utf8

說明:


convert2utf8 [filename] {source file encoding}

預設來源編碼是 gbk , code page 列表

使用方法 – 轉換 /Users/roga/srt_files/ 下面的 kunfu.srt (簡體, gb2312 編碼) 到 utf8 編碼:


cd /Users/roga/srt_files/
convert2utf8 kunfu.srt

檔案會被轉換成 utf8 編碼,文字會被替換為繁體字,而原本的檔案則會複製一份 .bak 檔在原目錄。

為了貼近我的使用方式,必須先切換到目標目錄下才能使用,要不然會發生檔案找不到的情況,我自己會用一段時間試試看,如果不好用我會再進行修改讓程式支援絕對路徑的參數

使用方法 – 轉換 /Users/roga/srt_files/ 下面的 kunfu.srt (繁體, big5 編碼) 到 utf8 編碼:


cd /Users/roga/srt_files/
convert2utf8 kunfu.srt big5

使用方法 – 轉換 /Users/roga/srt_files/ 下面的 kunfu.srt (日文, shift_jis 編碼) 到 utf8 編碼:


cd /Users/roga/srt_files/
convert2utf8 kunfu.srt shift_jis

以上大概是使用方法,除了 gbk 編碼的檔案以外,其他編碼檔案的文字都不會執行簡繁互換,只會轉換編碼,並且把原本的檔案則會複製一份 .bak 檔在原目錄。

另外簡繁文字對照表 (本程式中的 s_str, t_str) 來自 深藍UTF-8正體簡體轉換函數 1.0

10 comments on “Python – 文字檔簡繁轉換程式
1 Pings/Trackbacks for "Python – 文字檔簡繁轉換程式"
  1. […] 本程式修改自roga 的程式 […]

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.