📖 介绍

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

Github | 中文文档 | English Docs | 在线运行

🎨 特色功能

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

🔨 安装

npm 安装

npm install pinyin-pro

浏览器引入

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

💡 使用示例

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

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"
  • 文本和拼音匹配,更多匹配规则请查看match API
import { match } from 'pinyin-pro';

// 支持首字母匹配
match('中文拼音', 'zwp'); // [0, 1, 2]

// 支持全拼匹配
match('中文拼音', 'zhongwenpin'); // [0, 1, 2]

// 支持混合匹配
match('中文拼音', 'zhongwp'); // [0, 1, 2]
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 ) 语 ( yǔ )

🏆 竞品对比

以下是 pinyin-propinyin@napi-rs/pinyin 包对于汉字转换的速度及准确率对比,可以看到 pinyin-pro 在各方面都全面领先。

对比项

pinyin

@napi-rs/pinyin

pinyin-pro

准确率

😕 Node 版: 97.844%

😕 97.433%

🤩 99.744%

😕 Web 版: 94.507%

性能

5k字转换耗时

🐢 749.111ms

🚲 200.877ms

🚀 5.958ms

1w字转换耗时

🐢 795.904ms

🚲 206.5ms

🚀 15.260ms

100w字转换耗时

⛔ 内存溢出转换失败

🚀 638.888ms

🚀 607.131ms

兼容性

Web 环境

✔️ 支持

❌ 不支持

✔️ 支持

Node 环境

✔️ 支持

✔️ 支持

✔️ 支持

在线汉字转拼音工具https://www.btool.cn/pinyin使用此库实现,欢迎各位体验。

【分享】javascript汉字转拼音库pinyin-pro _拼音