NChiese是一套用來處理中文字詞的函式庫,使用C#和C编写。目前具備的功能,主要是反查一串中文字的注音或拼音。
安裝使用Nuget套件管理員來安裝,或執行下列命令:
Istall-Package NChiese -Versio 0.3.3Istall-Package NChiese.Imm -Versio 0.3.3簡介NChiese包含兩個套件:
NChiese -包含內建中文注音詞庫與相關API,例如反查一串中文字的注音字根。
NChiese.Imm -此套件會用到Widows底層的Imm.dll與IFELaguageCOMAPI,所以只適用於Widows作業環境。
兩個套件都有提供反查注音字根的函式,但由於NChiese.Imm只能運行於Widows環境,故建議盡量使用NChiese。
範例:反查注音字根usig NChiese;// 取得一串中文字的注音字根var zhuyiProvicer = ew ZhuyiReverseCoversioProvider();strig[] zhuyiArray = zhuyiProvicer.Covert("便宜又方便得不得了");foreach (var s i zhuyiArray) Cosole.Write($"{s} ");執行結果:
ㄆㄧㄢˊ "ㄧˊ ㄧㄡˋ ㄈㄤ ㄅㄧㄢˋ ㄉㄜ˙ ㄅㄨˋ ㄉㄜˊ ㄌㄧㄠˇ中文詞庫與注音字根的資料,是以 libchewig 的檔案(tsi.src)為藍本,再經過工具加工之後所產生的。所以透過上述方法所取得的注音字根,在讀音方面比較符合台灣的發音習慣。
範例:反查拚音字根如果要取得拼音字根,目前可以用的是 ImmPiyiReverseCoversioProvider。此類別與上例的 ZhuyiReverseCoversioProvider 都實作了 IReverseCoversioProvider,故用法雷同。如下:
usig NChiese.Imm;// 取得一串中文字的拼音字根var piyiProvicer = ew ImmPiyiReverseCoversioProvider();strig[] piyiiArray = zhuyiProvicer.Covert("便宜又方便得不得了");foreach (var s i zhuyiArray) Cosole.Write($"{s} ");執行結果:
piá yi yòu fāg bià de bù dé liǎo如果仔細比較,就可以發現此範例所取得的拼音,和上一個範例所取得的注音,在讀音方面有小差異:「便宜」的「宜」,在拼音裡面是讀作輕聲,而注音則是二聲。
另外要注意的是,用來取得拼音字根的 ImmPiyiReverseCoversioProvider 是隸屬於 NChiese.Imm 套件。此類別是利用IFELaguageCOMAPI來取得注音字根,所以只能運行於Widows作業環境。
NChiese.Imm套件裡面還有一個 ImmZhuyiReverseCoversioProvider,用途跟 NChiese.ZhuyiReverseCoversioProvider一樣是反查注音字根,但是它在內部實作上,其實是先用 ImmPiyiReverseCoversioProvider 取得拼音字根,然後再使用 PiyiToZhuyi 類別來把拼音轉換成注音符號。
评论