node-pinyin 汉字拼音转换工具
将汉字转为拼音,支持多音字。本工具 fork 自 https://github.com/hotoo/pinyin,原库以MIT协议开源,本库也以MIT协议开源。
安装
npm install node-pinyin
用法
var pinyin = require("node-pinyin"); console.log(pinyin("重心")); // [ [ 'zhòng' ], [ 'xīn' ] ] console.log(pinyin("重心", { heteronym: true // 启用多音字模式 })); // [ [ 'zhòng', 'chóng' ], [ 'xīn' ] ]
命令行:
$ pinyin 重心 zhòng xīn $ pinyin -h
API
方法 <Array> pinyin(words[, options])
将传入的中文字符串(words)转换成拼音符号串。
options 是可选的,打开多音字选项和设定返回风格。
返回二维数组,第一维每个数组项位置对应每个中文字符串位置。 第二维是各个汉字的读音列表,多音字会有多个拼音项。
参数 <Boolean> options.heteronym
是否启用多音字模式,默认关闭。
- 关闭多音字模式时,返回每个汉字第一个匹配的拼音。
- 启用多音字模式时,返回多音字的所有拼音列表。
参数 <String> options.style
指定拼音 风格。可以通过以下几种属性值进行指定。
normal
普通风格,即不带音标。如:pin yin
tone
声调风格,拼音声调在韵母第一个字母上。注:这是默认的风格。如:pīn yīn
toneWithNumber
声调风格,即拼音声调在各个拼音之后,用数字 [0-4] 进行表示。如:pin1 yin1
initials
声母风格,只返回各个拼音的声母部分。如:中国
的拼音 zh g
,例外,对于只有韵母的汉字(如『爱、啊』等),会先转成不带音标的普通风格。
firstLetter
首字母风格,只返回拼音的首字母部分。如:p y
Test
npm test
性能
源库由于启用了分词和词组匹配,导致内存占用极大,运算时间长,本库做了精简。
在 /benchmark
下可运行性能测试脚本,以 short.js
为例,在 Macbook Pro(2.5 GHz Intel Core i5 / 8 GB 1600 MHz DDR3)上:
源库输出
pinyin: 1076ms 146112512
本库输出
# 0.2.0 pinyin: 12ms 1150976 # 0.1.0 pinyin: 131ms 31199232
项目 | 源库 | 本库 | 百分比 |
---|---|---|---|
运算时间 | 1076ms | 12ms | 1.11% |
内存占用 | 139.3M | 1.1M | 0.79% |
Q&A 场景问题
本库与 fork 源库有哪些差异
- 源库支持同时支持在Node和浏览器端,本库只考虑Node环境
- 源库支持基于词组的精确转换,如
重心
中的重
,不会得到chong
这个读音,本库去掉了这个特性 - 源库支持简单的简繁转换,本库不支持
- 源库内存占用大,运算时间长,本库内存和运算时间均有大幅优化
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论