超级牛逼 专业的 js 汉字拼音转换库

pinyin-pro 是一个专业的 js 汉字拼音转换库,功能丰富、准确率高、性能优异。

🎨 特色功能

  • 支持拼音/声母/韵母/首字母/音调/全部信息
  • 支持人名姓氏模式
  • 支持文本和拼音匹配
  • 支持自定义拼音
  • 支持获取带拼音汉字的 HTML 字符串
  • 支持获取汉字的所有拼音
  • 支持拼音输入转换
  • 极致的性能和极高的拼音识别准确率

🔨 安装

npm 安装

npm install pinyin-pro

浏览器引入

<script src="https://unpkg.com/pinyin-pro"></script>

💡 使用示例

全部功能的使用说明文档请查看在线文档

  • 获取拼音,更多功能请查看pinyin API

    import { pinyin } from "pinyin-pro";// 获取字符串格式拼音
    pinyin("汉语拼音"); // 'hàn yǔ pīn yīn'// 获取数组格式拼音
    pinyin("汉语拼音", { type: "array" }); // ["hàn", "yǔ", "pīn", "yīn"]// 获取不带音调数组格式拼音
    pinyin("汉语拼音", { toneType: "none" }); // "han yu pin yin"// 获取不带音调数组格式拼音
    pinyin("汉语拼音", { toneType: "none", type: "array" }); // ["han", "yu", "pin", "yin"]// 音调以数组形式显示
    pinyin("汉语拼音", { toneType: "num" }); // "han4 yu3 pin1 yin1"// 自动识别多音字
    pinyin("睡着了"); // "shuì zháo le"
  • 使用词典,获取更准确的拼音。( pinyin-pro 内置了一些高频常用词的词典,想要保证高准确率,需要应用更完备的词典)

    import { pinyin, addDict } from "pinyin-pro";
    // 引入前需要先通过 `npm install @pinyin-pro/data` 进行安装
    import ModernChineseDict from "@pinyin-pro/data/modern.json";
    import CompleteDict from "@pinyin-pro/data/complete.json";// 默认使用内置的简单词典
    const result1 = pinyin("小明硕士毕业于中国科学院计算所,后在日本京都大学深造"
    );
    // 结果: xiǎo míng shuò shì bì yè yú zhōng guó kē xué yuàn jì suàn suǒ , hòu zài rì běn jīng dōu dà xué shēn zào// 使用现代汉语词典数据(gzip压缩后大概0.6MB,根据自己的需求决定是否使用)
    addDict(ModernChineseDict);
    const result2 = pinyin("小明硕士毕业于中国科学院计算所,后在日本京都大学深造"
    );
    // 结果: xiǎo míng shuò shì bì yè yú zhōng guó kē xué yuàn jì suàn suǒ , hòu zài rì běn jīng dū dà xué shēn zào// 使用完备词典数据(词汇量更全,拼音转换率更加准确,gzip压缩后大概3.99MB,根据自己的需求决定是否使用)
    addDict(CompleteDict);
    const result3 = pinyin("小明硕士毕业于中国科学院计算所,后在日本京都大学深造"
    );
    // 结果: xiǎo míng shuò shì bì yè yú zhōng guó kē xué yuàn jì suàn suǒ , hòu zài rì běn jīng dū dà xué shēn zào
  • 文本和拼音匹配,更多匹配规则请查看match API

    import { match } from "pinyin-pro";// 支持首字母匹配
    match("中文拼音", "zwp"); // [0, 1, 2]// 支持全拼匹配
    match("中文拼音", "zhongwenpin"); // [0, 1, 2]// 支持混合匹配
    match("中文拼音", "zhongwp"); // [0, 1, 2]
  • 拼音格式转换,更多功能请查看convert API

    import { convert } from "pinyin-pro";// 数组转符号
    convert("pin1 yin1"); // 'pīn yīn'// 符号转数字
    convert("pīn yīn", { format: "symbolToNum" }); // 'pin1 yin1'// 消除符号
    convert("pīn yīn", { format: "toneNone" }); // 'pin yin'
  • 获取带汉字拼音的 HTML 字符串,更多配置请查看html API

    import { html } from "pinyin-pro";// 带拼音汉字的 HTML 字符串
    html("汉语拼音");
    /*
    <span class="py-result-item">
    <ruby><span class="py-chinese-item">汉</span><rp>(</rp><rt class="py-pinyin-item">hàn</rt><rp>)</rp>
    </ruby>
    </span>
    <span class="py-result-item">
    <ruby><span class="py-chinese-item">语</span><rp>(</rp><rt class="py-pinyin-item">yǔ</rt><rp>)</rp>
    </ruby>
    </span>
    */

    上述结果浏览器中预览效果如下: 汉hàn 

官方地址:GitHub - zh-lx/pinyin-pro: 中文转拼音、拼音音调、拼音声母、拼音韵母、多音字拼音、姓氏拼音、拼音匹配

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot 启动控制台 --banner.txt实现打印炫酷控制台图案

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 分析源代码&#xff0c;banner.txt实现打印控制台 控制台图案生成网址&#xff1a;Ascii艺术字实现个性化Spring Boot启动banner图案&#xff0c;轻松修改更换banner.txt文件内容&#xff0c;收集了丰富…

SSL证书安装失败怎么办?

在互联网时代&#xff0c;SSL&#xff08;Secure Sockets Layer&#xff09;证书已成为保障网站数据传输安全、提升用户信任度的重要工具。然而&#xff0c;在实际操作过程中&#xff0c;SSL证书的安装并非总能一帆风顺&#xff0c;有时会遇到各种导致安装失败的问题。本文将详…

munge服务启动异常问题记录

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、问题一:cannot canonicalize "/var/run/munge"二、问题二&#xff1a;Failed to create "/var/run/munge/munge.socket.2.lock": Perm…

微前端集成模式:独立部署与共享依赖

微前端是一种将复杂的前端应用程序拆分为多个独立的、可独立部署的子应用的架构模式。在微前端中&#xff0c;每个子应用都可以独立开发、测试和部署&#xff0c;而不会影响其他子应用的运行。 在微前端中&#xff0c;有两种常见的集成模式&#xff1a;独立部署和共享依赖。 独…

美硕科技授权世强硬创代理,继电器具备控制功率小、电磁干扰小特点

受工业自动化、智能制造、物联网以及可再生能源等领域发展的推动&#xff0c;全球继电器市场在过去几年中持续增长&#xff0c;预计未来几年将继续保持这一趋势。 为满足日益增长的市场需求&#xff0c;世强先进&#xff08;深圳&#xff09;科技股份有限公司&#xff08;下称…

jvm中的引用类型

Java中的引用类型 1.强引用 一个对象A被局部变量、静态变量引用了就产生了强引用。因为局部变量、静态变量都是被GC Root对象关联上的&#xff0c;所以被引用的对象A&#xff0c;就在GC Root的引用链上了。只要这一层关系存在&#xff0c;对象A就不会被垃圾回收器回收。所以只要…

Linux shell编程学习笔记47:lsof命令

0 前言 今天国产电脑提示磁盘空间已耗尽&#xff0c;使用用df命令检查文件系统情况&#xff0c;发现/dev/sda2已使用100%。 Linux shell编程学习笔记39&#xff1a;df命令https://blog.csdn.net/Purpleendurer/article/details/135577571于是开始清理磁盘空间。 第一步是查看…

第二篇、SD真人视频转卡通动画 学习笔记

接着第一篇 2K转4K 生成玩卡通视频后&#xff0c;如何转换成更高分辨率的视频 1、将第一篇生成的工作目录下的output目录改成output-old&#xff0c;新建一个output目录 2、进入0&#xff0c;1子目录&#xff0c;把EbSynth生成的Outputxxx都删掉&#xff0c;frames和keys下…

IP5306 2.1A充电2.4 A放电电高集成度移动电源SOC IC,为移动电源提供完美电源解决方案

IP5306是一款集成升压转换器、锂电池充电管 理、电池电量指示的多功能电源管理 SOC&#xff0c;为移动 电源提供完整的电源解决方案。 IP5306的高集成度与丰富功能&#xff0c;使其在应用时 仅需极少的外围器件&#xff0c;并有效减小整体方案的尺寸&#xff0c; 降低 BOM 成本…

Unity射击游戏开发教程:(5)使用 GetComponent 在 Unity 中进行脚本通信

我认为脚本通信是刚开始使用 Unity 时较难掌握的概念之一,我将继续讨论这个概念。在本文中,我将介绍如何在游戏对象发生碰撞时使用 GetComponent 来访问另一个脚本。 在这个游戏场景中,我有两个游戏对象,它们都有自己的脚本,需要进行通信。我们有玩家脚本和敌人脚本。Enem…

MP:There is no getter for property named ‘null‘ in ‘class XXX‘异常

在使用主键进行更新或者删除的时候&#xff0c;报下面错误 There is no getter for property named ‘null’ in class 。。。 代码如下 Builder Data public class Course implements Serializable {private static final long serialVersionUID -16929324809307129L;privat…

CC++的内存管理

C&C的内存管理 栈&#xff1a;即用即销毁 堆&#xff1a;有需求再申请空间&#xff0c;手动销毁 注意&#xff1a;const 修饰可以使变量有常性&#xff0c;但是变量存储的域与没有const修饰是相同的。 即&#xff1a; 在 main函数中&#xff0c; const int a 0; int b…

1个月,从估值3.5亿美元到卷款3000万,ZKasino做了什么?

项目rug跑路&#xff0c;对于加密圈的人而言&#xff0c;并不少见。 但rug得这么理直气壮&#xff0c;甚至在圈内掀起了一波对投资机构和KOL的口诛笔伐的项目&#xff0c;ZKasino&#xff0c;也算是头几个。 短短一个月时间&#xff0c;从估值3.5亿美元、众人吹捧的明星级项目&…

深入了解Redis内存淘汰策略中的LRU算法应用

LRU算法简析 LRU&#xff08;Least Recently Used&#xff0c;最近最少使用&#xff09;算法是一种常见的内存淘汰策略&#xff0c;它根据数据的访问时间来决定哪些数据会被淘汰。LRU算法的核心思想是&#xff1a;最久未被访问的数据&#xff0c;被认为是最不常用的数据&#…

基于Tensorflow完成mnist数据集的数字手写体识别

基于Tensorflow完成mnist数据集的数字手写体识别 关于知识背景CNNFCNN 关于数据集新的改变 关于知识背景 CNN 卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff09;是一种具有局部连接、权值共享等特点的深层前馈神经网络&#xff08;Feed…

【大数据】LSM树,专为海量数据读写而生的数据结构

目录 1.什么是LSM树&#xff1f; 2.LSM树的落地实现 1.什么是LSM树&#xff1f; LSM树&#xff08;Log-Structured Merge Tree&#xff09;是一种专门针对大量写操作做了优化的数据存储结构&#xff0c;尤其适用于现代大规模数据处理系统&#xff0c;如NoSQL数据库&#xff…

缓解程序员工作压力的小窍门:从身心健康出发

随着信息技术的迅速发展&#xff0c;程序员成为了现代社会中不可或缺的一部分。然而&#xff0c;与之伴随而来的是高强度的工作压力&#xff0c;长时间的坐姿工作和快节奏的生活方式可能会对程序员的身心健康产生负面影响。因此&#xff0c;了解并采取有效的方法缓解工作压力对…

C# winform OpenProtocol中数据中的UI是什么类型?

C# winform OpenProtocol中数据中的UI是什么类型&#xff1f;

static在java中的详细用法

在Java中&#xff0c;static关键字可以用于以下几个方面&#xff1a; 静态变量&#xff08;类变量&#xff09;&#xff1a;使用static关键字修饰的成员变量被称为静态变量&#xff0c;也叫类变量。静态变量属于整个类&#xff0c;而不是具体的对象。静态变量在类加载时被初始…

vue2项目升级到vue3经历分享

依据vue官方文档&#xff0c;vue2在2023年12月31日终止维护。因此决定将原来的岁月云记账升级到vue3&#xff0c;预计工作量有点大&#xff0c;于是想着把过程记录下来。 原系统使用的技术栈 "dependencies": {"axios": "^0.21.1","babel-…