2018年3月9日 星期五

(書籤) Java 繁體與簡體轉換

雖然繁體和簡體的轉換有一些開源專案了,但他們大多都加了一個額外的功能:詞彙代換
例如「database」臺灣稱為「資料庫」,中國則稱為「数据库」
在有些狀況,自動做這個轉換很好,但有時候其實我不想要它幫我轉換……Orz

於是就找了點資料,大體上好像都是自己實作,可能也是因為這問題難度太低,不值得做成一個開源專案…..??
不過在 CSDN 上看到有人 [1] 很好心地做了看起來比較可靠的文字比對,並整理出共 2,579 個繁體和簡體不同字的對照。

裡面有完整的程式碼,有需要的人可以直接參閱 [1]。

當然 [1] 的實作方法很土法煉鋼,依據需求是能夠做些調校的,不過那就看各自的需求自己解決吧!XD

不過需要注意的是,因為這個實作單純只看每個字而已,所以如果是繁轉簡後再簡轉繁,跑出來的結果有可能跟原始字串不同
例如「限制」轉成簡體會是「限制」,但再轉回繁體會變成「限製」。
這是因為繁體對簡體有多對一的問題,實際上得依照詞彙決定該用哪個字,才能更精準一點地轉換。

題外話,[1] 整理出來的數據蠻有意思的:

  1. 全部的漢字有 20,881 個。
  2. 繁簡不同字的有 2,579 個。
  3. 繁轉簡有多對一現象的只有 44 個。
  4. 另外有 3 個簡轉繁時有多對一現象。
參考資料
  1. Java 汉字繁体转简体

沒有留言: