[![pinyin-pro Logo](https://t1.wodetu.cn/2022/11/15/168e8a29acc856c48fdef4060c0ba5ad.png)](https://github.com/zh-lx/pinyin-pro) [![NPM version](https://img.shields.io/npm/v/pinyin-pro.svg)](https://www.npmjs.com/package/pinyin-pro) [![GITHUB star](https://img.shields.io/github/stars/zh-lx/pinyin-pro.svg)](https://github.com/zh-lx/pinyin-pro) [![travis-build](https://travis-ci.com/zh-lx/pinyin-pro.svg?branch=main)](https://travis-ci.com/github/zh-lx/pinyin-pro) [![NPM Downloads](https://img.shields.io/npm/dm/pinyin-pro.svg)](https://npmcharts.com/compare/pinyin-pro?minimal=true) [![Coverage Status](https://coveralls.io/repos/github/zh-lx/pinyin-pro/badge.svg?branch=main)](https://coveralls.io/github/zh-lx/pinyin-pro?branch=main) [![MIT-license](https://img.shields.io/npm/l/pinyin-pro.svg)](https://opensource.org/licenses/MIT) [![GITHUB-language](https://img.shields.io/github/languages/top/zh-lx/pinyin-pro.svg)](https://github.com/zh-lx/pinyin-pro) ### 📖 介绍 `pinyin-pro` 是一个专业的 js 汉字拼音转换库,功能丰富、准确率高、性能优异。 [中文文档](https://pinyin-pro.cn) | [English Docs](https://pinyin-pro.cn/en) | [在线运行](https://pinyin-pro.cn/run/run) ### 🎨 特色功能 - 支持拼音/声母/韵母/首字母/音调/全部信息 - 支持人名姓氏模式 - 支持文本和拼音匹配 - 支持自定义拼音 - 支持获取带拼音汉字的 HTML 字符串 - 支持获取汉字的所有拼音 - 极致的性能和极高的拼音识别准确率 ### 🔨 安装 npm 安装 ```html npm install pinyin-pro ``` 浏览器引入 ```html ``` ### 💡 使用示例 全部功能的使用说明文档请查看[在线文档](https://pinyin-pro.cn/use/pinyin) - 获取拼音,更多功能请查看[pinyin API](https://pinyin-pro.cn/use/pinyin) ```js 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](https://pinyin-pro.cn/use/match) ```js import { match } from 'pinyin-pro'; // 支持首字母匹配 match('中文拼音', 'zwp'); // [0, 1, 2] // 支持全拼匹配 match('中文拼音', 'zhongwenpin'); // [0, 1, 2] // 支持混合匹配 match('中文拼音', 'zhongwp'); // [0, 1, 2] ``` - 获取带汉字拼音的 HTML 字符串,更多配置请查看[html API](https://pinyin-pro.cn/use/html) ```js import { html } from 'pinyin-pro'; // 带拼音汉字的 HTML 字符串 html('汉语拼音'); /* 汉 语 */ ``` 上述结果浏览器中预览效果如下: 汉 语 ### 🏆 竞品对比 以下是 `pinyin-pro`、`pinyin` 及 `@napi-rs/pinyin` 包对于汉字转换的速度及准确率对比,可以看到 `pinyin-pro` 在各方面都全面领先。 - 准确率测试数据: [accuracy](https://github.com/zh-lx/pinyin-pro/blob/main/benchmark/accuracy.js) - 性能测试数据:[speed](https://github.com/zh-lx/pinyin-pro/blob/main/benchmark/speed.js)
对比项 | 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 环境 | ✔️ 支持 | ✔️ 支持 | ✔️ 支持 |