Bopomofo4j 纯 Java 汉字转拼音库

开源网站开源项目 24-06-07 10:57:33

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

实现汉字转拼音

实现汉语单词转拼音

实现汉语句子转拼音,在一定程度解决多音字问题

实现简体,繁体互转

词库实现沙盒模式进行热加载,也可使用本地模式

原理

获取当前汉字的unicode值,如果在[19968,40869]中文区间,则执行第2步,否则直接输出(可能为符号,数字,英文字母或其他语系)

检查当前汉字是否在多音字库中,如果存在返回该汉字发音的拼音和汉字序列数组,将当前句子上下文进行序列匹配,如果能够匹配,则为该发音。如果无返回,则进入第三步

维护一个拼音与汉字映射的字库,遍历字库查找该拼音发音的汉字序列,将当前汉字与汉字序列进行检查是否在其中,如果在其中则返回该拼音。

沙盒模式

当Bopomofo4j处于沙盒模式下,从Maven中央仓库查询最新的正式版本,使用最新的正式版本URL下载JAR。

使用URL类加载器进行加载,加载成功后实例化IBopomofoKernel实现类,并缓存为proxy。

如果下载过程或者加载过程发生异常,使用本地库作为proxy。

如果人为设置模式为沙盒,则需要在超过1分钟后重新尝试步骤1,步骤2。

如果人为设置模式为本地,则使用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!!

[Bopomofo4j 纯 Java 汉字转拼音库]相关推荐
EDE Linux桌面环境

EDE Linux桌面环境

EDE(Equinox Desktop Environment)是轻量级、模块化、轻便型的类UNUX操作系统的桌面环境,能运行在非常古……...

wxPython Python 图形开发包

wxPython Python 图形开发包

wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 G……...

Morpheus 新一代 web 发布平台

Morpheus 是用 React.js 创建的新一代 web 发布平台。 Morpheus 在第一次加载完全是在服务器端渲染。当一……...

元搜索引擎

元搜索引擎 原搜索引擎是通过一个统一的用户界面帮助用户在多个搜索引擎中选择和利用合适的搜索引擎来实……...

今日开源
  1. casbin 轻量级访问控制框架

    casbin是一个用Go语言打造的轻量级开源访问控制框架,采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制 RBAC、基于属性的访问控制 ABAC 等。 casbin 的主要特性包括: 支持自定义请求的……

    开源软件 2024-06-24

  2. xs C 多线程网络库

    基于C多线程网络库,欢迎大家使用,例子在代码example目录下,以后我会再增加一些例子。 文档暂时没有,有问题请邮件我:-) 获取代码:https://github.com/xueguoliang/xs xs致力于1)多线程网络库,如果你的程序要……

    开源软件 2024-06-24

  3. Sikuli 图形脚本语言

    Sikuli 图形脚本语言

    MIT设计了一种新颖的图形脚本语言Sikuli,计算机用户 只须有最基本的编程技能(比如会写print"hello world"),他不需要去写出一行行代码,而是用屏幕截图的方式,用截出来的图形元素组合出神奇的程序。……

    开源软件 2024-06-24

返回顶部小火箭