
Research
/Security News
Shai Hulud Strikes Again (v2)
Another wave of Shai-Hulud campaign has hit npm with more than 500 packages and 700+ versions affected.
pinyin-pro
Advanced tools
pinyin-pro 是一个专业的 js 汉字拼音转换库,功能丰富、准确率高、性能优异。
中文文档 | English Docs | 在线运行
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"
文本和拼音匹配,更多匹配规则请查看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>
*/
上述结果浏览器中预览效果如下: 汉 语
以下是 pinyin-pro、pinyin 及 @napi-rs/pinyin 包对于汉字转换的速度及准确率对比,可以看到 pinyin-pro 在各方面都全面领先。
| 对比项 | pinyin | @napi-rs/pinyin | pinyin-pro | |
|---|---|---|---|---|
| 准确率 | 😕 Node 版: 94.097% | 😕 94.097% | 🤩 99.846% | |
| 😕 Web 版: 91.170% | ||||
| 性能 | 5k字转换耗时 | 🐢 749.111ms | 🚲 200.877ms | 🚀 5.958ms |
| 1w字转换耗时 | 🐢 795.904ms | 🚲 206.5ms | 🚀 15.260ms | |
| 100w字转换耗时 | ⛔ 内存溢出转换失败 | 🚀 638.888ms | 🚀 820.131ms | |
| 兼容性 | Web 环境 | ✔️ 支持 | ❌ 不支持 | ✔️ 支持 |
| Node 环境 | ✔️ 支持 | ✔️ 支持 | ✔️ 支持 |
使用遇到问题或者需要功能支持欢迎提 issue。
技术交流欢迎加 pinyin-pro 用户群 或者微信:
FAQs
We found that pinyin-pro demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Another wave of Shai-Hulud campaign has hit npm with more than 500 packages and 700+ versions affected.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.