Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
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
The npm package pinyin-pro receives a total of 24,016 weekly downloads. As such, pinyin-pro popularity was classified as popular.
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 0 open source maintainers 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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.