本工具fork自https://github.com/hotoo/pinyin,原库以MIT协议开源,本库也以MIT协议开源。
将汉字转为拼音,支持多音字。
via npm:
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
将传入的中文字符串(words)转换成拼音符号串。
options 是可选的,打开多音字选项和设定返回风格。
返回二维数组,第一维每个数组项位置对应每个中文字符串位置。 第二维是各个汉字的读音列表,多音字会有多个拼音项。
是否启用多音字模式,默认关闭。
关闭多音字模式时,返回每个汉字第一个匹配的拼音。
启用多音字模式时,返回多音字的所有拼音列表。
指定拼音 风格。可以通过以下几种属性值进行指定。
普通风格,即不带音标。
如:pin yin
声调风格,拼音声调在韵母第一个字母上。
注:这是默认的风格。
如:pīn yīn
声调风格,即拼音声调在各个拼音之后,用数字 [0-4] 进行表示。
如:pin1 yin1
声母风格,只返回各个拼音的声母部分。
如:中国
的拼音 zh g
例外,对于只有韵母的汉字(如『爱、啊』等),会先转成不带音标的普通风格。
首字母风格,只返回拼音的首字母部分。
如:p y
npm test
源库由于启用了分词和词组匹配,导致内存占用极大,运算时间长,本库做了精简。
在/benchmark
下可运行性能测试脚本,以short.js
为例,在MacbookPro(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% |
- 源库支持同时支持在Node和浏览器端,本库只考虑Node环境
- 源库支持基于词组的精确转换,如
重心
中的重
,不会得到chong
这个读音,本库去掉了这个特性 - 源库支持简单的简繁转换,本库不支持
- 源库内存占用大,运算时间长,本库内存和运算时间均有大幅优化
- 修复极端情况下无法读取到拼音的bug(“脑”)
- 修复极端情况下无法读取到拼音的bug(“昊”)
- 调整“的”的拼音,优先返回“de”
- 更新数据存储和读取机制,大幅减少运算时间(12ms)和内存占用(1.1M)
- 恢复代码风格选项
- Fork初始发布
- 大幅减少运算时间(131ms)和内存占用(29.7M)
- 去掉源库分词特性
- 去掉词语库
- 去掉代码风格选项