纯 Java 汉字转拼音库 Bopomofo4j

Apache
Java
跨平台
2019-09-20
氡氪网络科技

Bopomofo4j是一个零依赖、纯Java开发的汉字转拼音库,具备沙盒运行模式。 JavaScript版本 Bopomofo.js

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

原理

  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

/**
 * 本地库运行拼音转换库
 */
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, false, false, " ");
System.out.println(v1);//控制台输出 zhōng guó rén!
String v2 = Bopomofo4j.pinyin('患难与共的兄弟!!',1, false, false, " ");
System.out.println(v2);//控制台输出 huan4 nan4 yu3 gong4 de0 xiong1 di4!!
String v3 = Bopomofo4j.pinyin('this is a pinyin library!这是一个汉语拼音库!!',2, false, false, " ");
System.out.println(v3);//控制台输出 this is a pinyin library! zhe shi yi ge han yu pin yin ku!!

 

的码云指数为
超过 的项目
加载中

评论(23)

维维他奶
维维他奶
mark
开源中国首席鸭王
多音字处理的怎么样,之前用过pinyin4j,多音字处理的不是很到位,省市区排序有些多音字都排的不对
zb1488614096720
zb1488614096720
JPinyin和pinyin4j呢?
程序人生2015
程序人生2015
点个赞
开源中国首席摸金校尉
点赞了,虽然现在用不到~~
oschina4cyy
oschina4cyy
我用您的库做了个PC端的汉字转拼音小工具 https://cloud.tencent.com/developer/article/1515310
氡氪网络科技 软件作者
很直观,我正打算做一个网页版的,使用这个库的兄弟项目 http://www.dbndka.com.cn/p/bopomofo-js(Bopomofo.js)
氡氪网络科技 软件作者
http://pinyin.rnkrsoft.com已经上线了
June_6
June_6
mark
酷酷的就
酷酷的就
中国人的拼音发音对么?
氡氪网络科技 软件作者
成语之前就已经修正了,可以查看github源代码
氡氪网络科技 软件作者
这个读音之前就已经修正了,请查看github 源代码
氡氪网络科技 软件作者
库里面是对的,这个例子的文本没修改
KeeperZoo
KeeperZoo
mark
忘川桑梓
忘川桑梓
下载下来试了一下 感觉还可以哦 以后项目中可能会用到 感谢作者

暂无资讯

暂无问答

纯 Java 汉字转拼音库 Bopomofo4j

Bopomofo4j是一个零依赖、纯Java开发的汉字转拼音库,具备沙盒运行模式。 实现汉字转拼音 实现汉语单词转拼音 实现汉语句子转拼音,在一定程度解决多音字问题 实现简体,繁体互转 词库实现沙...

09/29 11:17
37
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部
天津时时彩