11.9. pycodec - 中文碼/萬國碼轉換程式

這個套件支援Python和C兩種介面,可轉換中文碼和萬國碼(Unicode)。 如果您只用Python寫程式,請採用Python介面。 然而,如果您喜歡C,可以試著使用C介面。 C介面是用Python/C API寫出來的,目的是為了得到較佳的效能。 就目前而言,Python介面適用GNU/Linux和Windows系統, 但是,這一版的C介面只能用於GNU/Linux系統。

安裝 converters/py-cjkcodecs

在demo/子目錄下,您可以找到test_*.py; 這是用來示範如何把中文碼轉換成Unicode, 或者從Unicode轉換成中文碼。

在chinesetw/子目錄下,有四個對照表檔案,如下所示:

o big52utf1.py
o big52utf2.py
o utf2big51.py
o utf2big52.py

主檔名中最後一個數字是指BIG5碼的層級,如big52utf1.py指的就是第一層 BIG5碼,而big52utf2.py指的就是第二層BIG5碼。 由於第一層BIG5碼定義的都是最常用的中文字, 因此,把第一層和第二層分開,多少有助於加快辭典的搜尋速度。

此外,倚天版的Big5或是Big5 Plus並不保證能正常運作。

C介面:每個共享模組中只有兩個方函:decode()和encode()。 您可以把BIG5字串轉成萬國碼字串,也可以直接轉成UTF-8或UTF-16。 最原始的用法,請參見範例。

#!/usr/local/bin/python
twstring = "這是一個測試, 英文是\"This is a test.\"\n" + \
           "先把BIG5碼轉換成Unicode, 再把Unicode轉\n" + \
           "回BIG5碼. 效果還不錯, 但效能差一點."
uni = unicode(twstring, "big5_tw")
bstring = uni.encode("big5_tw")
print "Original BGI5 encoded string:"
print twstring
print "Transcode to Unicode encoding:"
print repr(uni)
print "Print as a BIG5 encoded string:"
print bstring

WWW: http://sourceforge.net/projects/python-codecs/