Bopomofo4j是一个零依赖、纯Java开发的汉字转拼音库,具有沙盒运行模式。数组
- 实现汉字转拼音
- 实现汉语单词转拼音
- 实现汉语句子转拼音,在必定程度解决多音字问题
- 实现简体,繁体互转
- 词库实现沙盒模式进行热加载,也可以使用本地模式
原理
- 获取当前汉字的unicode值,若是在[19968,40869]中文区间,则执行第2步,不然直接输出(可能为符号,数字,英文字母或其余语系)
- 检查当前汉字是否在多音字库中,若是存在返回该汉字发音的拼音和汉字序列数组,将当前句子上下文进行序列匹配,若是可以匹配,则为该发音。若是无返回,则进入第三步
- 维护一个拼音与汉字映射的字库,遍历字库查找该拼音发音的汉字序列,将当前汉字与汉字序列进行检查是否在其中,若是在其中则返回该拼音。
沙盒模式
- 当Bopomofo4j处于沙盒模式下,从Maven中央仓库查询最新的正式版本,使用最新的正式版本URL下载JAR。
- 使用URL类加载器进行加载,加载成功后实例化IBopomofoKernel实现类,并缓存为proxy。
- 若是下载过程或者加载过程发生异常,使用本地库做为proxy。
- 若是人为设置模式为沙盒,则须要在超过1分钟后从新尝试步骤1,步骤2。
- 若是人为设置模式为本地,则使用v100下的LocalKernel。若是为1.0.1则为v101下的LocalKernel。