Bopomofo4j是一個零依賴、純Java開發的漢字轉拼音庫,具有沙盒運行模式。數組
- 實現漢字轉拼音
- 實現漢語單詞轉拼音
- 實現漢語句子轉拼音,在必定程度解決多音字問題
- 實現簡體,繁體互轉
- 詞庫實現沙盒模式進行熱加載,也可以使用本地模式
原理
- 獲取當前漢字的unicode值,若是在[19968,40869]中文區間,則執行第2步,不然直接輸出(可能爲符號,數字,英文字母或其餘語系)
- 檢查當前漢字是否在多音字庫中,若是存在返回該漢字發音的拼音和漢字序列數組,將當前句子上下文進行序列匹配,若是可以匹配,則爲該發音。若是無返回,則進入第三步
- 維護一個拼音與漢字映射的字庫,遍歷字庫查找該拼音發音的漢字序列,將當前漢字與漢字序列進行檢查是否在其中,若是在其中則返回該拼音。
沙盒模式
- 當Bopomofo4j處於沙盒模式下,從Maven中央倉庫查詢最新的正式版本,使用最新的正式版本URL下載JAR。
- 使用URL類加載器進行加載,加載成功後實例化IBopomofoKernel實現類,並緩存爲proxy。
- 若是下載過程或者加載過程發生異常,使用本地庫做爲proxy。
- 若是人爲設置模式爲沙盒,則須要在超過1分鐘後從新嘗試步驟1,步驟2。
- 若是人爲設置模式爲本地,則使用v100下的LocalKernel。若是爲1.0.1則爲v101下的LocalKernel。