java 汉字转拼音_Bopomofo4j - 零依赖,纯Java开发的汉字转拼音库

04e65947e04befc72218ee7361f3f2bf.png

Bopomofo4j

零依赖,纯Java开发的汉字->拼音转换,简体繁体互转,具备沙盒运行模式

  1. 实现汉字转拼音
  2. 实现汉语单词转拼音
  3. 实现汉语句子转拼音,在一定程度解决多音字问题
  4. 实现简体,繁体互转
  5. 词库实现沙盒模式进行热加载,也可使用本地模式
com.rnkrsoft.bopomofo4j bopomofo4j 最新版本号

最新版本号见上方,本库支持沙盒模式,即使使用低版本依然可以获取最新的功能实现。

原理

  1. 获取当前汉字的unicode值,如果在[19968,40869]中文区间,则执行第2步,否则直接输出(可能为符号,数字,英文字母或其他语系)
  2. 检查当前汉字是否在多音字库中,如果存在返回该汉字发音的拼音和汉字序列数组,将当前句子上下文进行序列匹配,如果能够匹配,则为该发音。如果无返回,则进入第三步
  3. 维护一个拼音与汉字映射的字库,遍历字库查找该拼音发音的汉字序列,将当前汉字与汉字序列进行检查是否在其中,如果在其中则返回该拼音。

沙盒模式

  1. 当Bopomofo4j处于沙盒模式下,从Maven中央仓库查询最新的正式版本,使用最新的正式版本URL下载JAR。
  2. 使用URL类加载器进行加载,加载成功后实例化IBopomofoKernel实现类,并缓存为proxy。
  3. 如果下载过程或者加载过程发生异常,使用本地库作为proxy。
  4. 如果人为设置模式为沙盒,则需要在超过1分钟后重新尝试步骤1,步骤2。
  5. 如果人为设置模式为本地,则使用v100下的LocalKernel。如果为1.0.1则为v101下的LocalKernel。

API

整个库使用仅需要com.rnkrsoft.bopomofo4j.Bopomofo4j这个类的访问,提供如下几个方法。

/** * 本地库运行拼音转换库 */public static final void local();/** * 沙盒运行拼音转换库 */public static final void sandbox();/** * 将汉字句子转换拼音,支持声母带音调,数字音调,无音调三种格式 * * @param words 句子 * @param toneType 拼音样式 0-声母带音调,1-数字音调在最后,2-无音调,默认值0 * @param upper 是否大写,默认为假(小写) * @param cap 是否首字母大写,在upper为假时有效,默认为假(小写) * @param split 分割符号,默认一个空格 * @return 拼音 */public static final String pinyin(String words, ToneType toneType, Boolean upper, Boolean cap, String split);/** * 将繁体中文转换为简体中文 * @param words 繁体中文句子 * @return 简体中文句子 */public static final String cht2chs(String words);/** * 将简体中文转换为繁体中文 * @param words 简体中文句子 * @return 繁体中文句子 */public static final String chs2cht(String words);

例如:

//汉语句子->声母音调拼音String v1 = Bopomofo4j.pinyin("中国人!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值