{"_id":"@aam-frontend/pinyin","_rev":"2-78ea72f4cafbd3e627c66f8b0fee9a86","name":"@aam-frontend/pinyin","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@aam-frontend/pinyin","version":"1.0.0","description":"汉语拼音转换工具。","keywords":["拼音","汉语","汉字","中文","Pinyin"],"author":{"name":"toobeloong"},"main":"lib/index.js","bin":{"pinyin":"./bin/pinyin"},"directories":{"example":"examples","test":"tests"},"repository":{"type":"git","url":"git+https://github.com/hotoo/pinyin.git"},"bugs":{"url":"https://github.com/hotoo/pinyin/issues"},"scripts":{"test":"make test"},"dependencies":{"commander":"~1.1.1","object-assign":"^4.0.1","nodejieba":"^2.2.1"},"optionalDependencies":{"nodejieba":"^2.2.1"},"devDependencies":{"benchmark":"~1.0.0","eslint":"~0.24.0","expect.js":"~0.3.1","istanbul":"~0.3.17","mocha":"1.17.1","request":"~2.68.0"},"spm":{"main":"lib/web-pinyin.js","devDependencies":{"expect.js":"0.3.1","url":"1.2.0"},"build":{"babel":{}},"tests":"tests/*-spec.js","dependencies":{"object-assign":"~4.0.1"}},"browser":"lib/web-pinyin.js","license":"MIT","gitHead":"1434bdad873d65b27a9a273a32817c34131cd0b9","homepage":"https://github.com/hotoo/pinyin#readme","_id":"@aam-frontend/pinyin@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"toobeloong","email":"toobe.loong@gmail.com"},"dist":{"integrity":"sha512-IGKlQOqNU8cILroM+qtGGsbpLicIWiE7v38xHrJMlBIg2/oUX0xblk6Wd0v50x4zyM41bzXO5e79Sc+zuLobcw==","shasum":"1f11d1ed6f192aef1db14835d0c4cf1baf196342","tarball":"https://registry.npmjs.org/@aam-frontend/pinyin/-/pinyin-1.0.0.tgz","fileCount":12,"unpackedSize":3748965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrxj9CRA9TVsSAnZWagAAB+EP/1r02mywnnMLZz9QRfWG\ntj7PjZ5xp5sed+xf4dOvJdtUbwmCsccFJNk/iG595Fv0cjW7GbXnrH32ItmY\nuzzj6B87hZSpTx4g00A/QiCIWIZq6QMNlky4FsYNshGpJ6DiXSTQkgCbnF1X\n+irVPc2MMYYxQCnwTVfriHeA+OsXTSIltjlzXRQxigq0HzcX3C+nI1eRZ+dL\nspKyyuE4ub/VMQ8QtW3sUGZXvfK4zuOiCjJEC+uug6Q2hZvLuLsn676gXyAd\nPBoa08pOlu7oEUexy3XUzWUNnQljpowzFIapBwmr8uTZvIIZi88p52B1tdf7\n87rOlBhGHbm9ypetJmTJi8Ocq6/Dku8fpl8nsoNwEAwxV+gG7M/nJhaSZGSy\nfRwzFZX4RyWFhwsTXaSMARwsXNF3xgVwldVduw1gaWPrJUZQ5VLdC4dShFHM\nCTyrso3nmhtwmwp37+hsWGOVcVrnhhLkZI17wqwfnUo9sgPyk/afr2vgX7hJ\namrvmxHMv38rC4KM4+D7EyImInHtpBBZCsuje8PMWs60EcQURsZdDm5166lS\n+w3LABo3ZNEyPpBDTOUyoqaVeBhOFrJiSepULVR+zba24qaWNzIK+IczOGg2\nzn6Bzh+gIhJybyHfInbY5rty+ZnoPTd2QcRUz/041XmT5Oap8/0+m29b1uAr\nN1R2\r\n=Wkb5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/i0uUkfl1WqowL1znbplm0btabpOo8JbuWSZffPgYTgIhANNiUgdKibZXX+fbHWbggir0P8eOE6imh6fTC/z7Oj0k"}]},"maintainers":[{"name":"jodenhui","email":"847034412@qq.com"},{"name":"eno-zeng","email":"zengjianjun12138@gmail.com"},{"name":"petertsang","email":"yanmingzeng@126.com"},{"name":"ricko","email":"tommyhilinux@gmail.com"},{"name":"flowsand","email":"13829790504@163.com"},{"name":"toobeloong","email":"toobe.loong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pinyin_1.0.0_1554979069155_0.41629342911309486"},"_hasShrinkwrap":false},"1.0.1":{"name":"@aam-frontend/pinyin","version":"1.0.1","description":"汉语拼音转换工具。","keywords":["拼音","汉语","汉字","中文","Pinyin"],"author":{"name":"toobeloong"},"main":"lib/index.js","bin":{"pinyin":"./bin/pinyin"},"directories":{"example":"examples","test":"tests"},"scripts":{"test":"make test"},"dependencies":{"commander":"~1.1.1","object-assign":"^4.0.1","nodejieba":"^2.2.1"},"optionalDependencies":{"nodejieba":"^2.2.1"},"devDependencies":{"benchmark":"~1.0.0","eslint":"~0.24.0","expect.js":"~0.3.1","istanbul":"~0.3.17","mocha":"1.17.1","request":"~2.68.0"},"spm":{"main":"lib/web-pinyin.js","devDependencies":{"expect.js":"0.3.1","url":"1.2.0"},"build":{"babel":{}},"tests":"tests/*-spec.js","dependencies":{"object-assign":"~4.0.1"}},"browser":"lib/web-pinyin.js","license":"MIT","gitHead":"1434bdad873d65b27a9a273a32817c34131cd0b9","_id":"@aam-frontend/pinyin@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"toobeloong","email":"toobe.loong@gmail.com"},"dist":{"integrity":"sha512-ghEwFbthmrEn10kcKr5zDwsBcQO4t69XQQ7aQ4rHqJkd2IBwRLZDR5SvZwT6folB8RX2jNLf2lCQnsR8LAQWXg==","shasum":"c1434399207ffdbe089797df59dfdd4ed0e26607","tarball":"https://registry.npmjs.org/@aam-frontend/pinyin/-/pinyin-1.0.1.tgz","fileCount":12,"unpackedSize":3748808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrxyPCRA9TVsSAnZWagAAchcP/2HhaqHov3ohuXtWuXO5\nJ4lEV+xD3j8DYmtqw4cAdsvwy37PAQxQ0lL6F6sd+NEXeMM4+kBUheVOmeEL\nytb7mzPdRJV1dgYbNhfy1peKbYXptb6FdfYid4eCr3L+7JS9opVWXkrKP3nS\nYyBDDJ19JrKnHaEjagtRm9S+yxdzyTUYtgKjEK9ExOXbBg8XEFLtJiAo9azf\nzV8J3BnkuNrevD3eFKtzYip7RkAZcLurbeS3X6ZA58Zlom3zVH2VSXdna8EG\nuDuqqttbAvmLEDJT+rrND95NuubheNZv2sTrHvfB3hHgyQhsTY4eUiiPxW7s\n/ycySThC+iTL1YPwSR7LZPBS9IxwbiU5dKESDX/K2pp6d3qXCnBEd9Vjw7Vk\n7Big2qqMriqko7PxE0ktEvECzWDiHq41eoX7QlFFwCpL0cUnCdZT7gwDTMbh\nV0V+ieGLbnHLFOcFVX4o0V+5qLdy04tcTOMMfrJ2RWJD7Ob4s2H6rGmqbdR/\nWHVwcMfZgw4cpoXuv58oHaH+Ld5980L18VPD6Qwid+z842jD2ssccHYb1e0P\nfQeaOFeqo8TvhIG+s1V0gz/432iVBgqzG9CEkNOV35cSQHSJy8Uvsqb+BnqZ\nQU9x3k0LJs9nis12/OD1kRy9ijh4Nq7y6MwamXfJ2V2EUc3y5o/hwW1Z7Jyg\nOMBK\r\n=jcbf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsaQ1MW8F/8+4BAD9MIWDceodDdJt/hSPG+FyUOmOK9gIgPgpA1mG/+6vwXAP4ha+f/pzRjoQB/SvW8YVPNaPCHZo="}]},"maintainers":[{"name":"eno-zeng","email":"zengjianjun12138@gmail.com"},{"name":"flowsand","email":"13829790504@163.com"},{"name":"jodenhui","email":"847034412@qq.com"},{"name":"petertsang","email":"yanmingzeng@126.com"},{"name":"ricko","email":"tommyhilinux@gmail.com"},{"name":"toobeloong","email":"toobe.loong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pinyin_1.0.1_1554979982674_0.17142443190740475"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-11T10:37:48.955Z","1.0.0":"2019-04-11T10:37:49.362Z","modified":"2022-04-04T10:55:05.872Z","1.0.1":"2019-04-11T10:53:02.871Z"},"maintainers":[{"name":"eno-zeng","email":"zengjianjun12138@gmail.com"},{"name":"flowsand","email":"13829790504@163.com"},{"name":"jodenhui","email":"847034412@qq.com"},{"name":"petertsang","email":"yanmingzeng@126.com"},{"name":"ricko","email":"tommyhilinux@gmail.com"},{"name":"toobeloong","email":"toobe.loong@gmail.com"}],"description":"汉语拼音转换工具。","keywords":["拼音","汉语","汉字","中文","Pinyin"],"author":{"name":"toobeloong"},"license":"MIT","readme":"# 汉字拼音转换工具。\n\n---\n\n[![NPM version][npm-badge]][npm-url]\n[![Build Status][travis-badge]][travis-url]\n[![Coverage Status][coveralls-badge]][coveralls-url]\n[![Gittip][gittip-image]][gittip-url]\n[![NPM downloads][npm-downloads]][npm-url]\n\n\n[npm-badge]: https://img.shields.io/npm/v/pinyin.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/pinyin\n[npm-downloads]: http://img.shields.io/npm/dm/pinyin.svg?style=flat\n[travis-badge]: https://travis-ci.org/hotoo/pinyin.svg?branch=master\n[travis-url]: https://travis-ci.org/hotoo/pinyin\n[coveralls-badge]: https://coveralls.io/repos/hotoo/pinyin/badge.svg?branch=master\n[coveralls-url]: https://coveralls.io/r/hotoo/pinyin\n[gittip-image]: https://img.shields.io/gittip/hotoo.svg?style=flat-square\n[gittip-url]: https://www.gittip.com/hotoo/\n\n[English Documention](README-us_EN.md)\n\n转换中文字符为拼音。可以用于汉字注音、排序、检索。\n\n> 注：这个版本同时支持在 Node 和 Web 浏览器环境运行，\n>\n> Python 版请关注 [mozillazg/python-pinyin](https://github.com/mozillazg/python-pinyin)\n\n---\n\n## 特性\n\n* 根据词组智能匹配最正确的拼音。\n* 支持多音字。\n* 简单的繁体支持。\n* 支持多种不同拼音风格。\n\n## 安装\n\nvia npm:\n\n```bash\nnpm install pinyin\n```\n\n## 用法\n\n开发者：\n\n```js\nvar pinyin = require(\"pinyin\");\n\nconsole.log(pinyin(\"中心\"));    // [ [ 'zhōng' ], [ 'xīn' ] ]\nconsole.log(pinyin(\"中心\", {\n  heteronym: true               // 启用多音字模式\n}));                            // [ [ 'zhōng', 'zhòng' ], [ 'xīn' ] ]\nconsole.log(pinyin(\"中心\", {\n  heteronym: true,              // 启用多音字模式\n  segment: true                 // 启用分词，以解决多音字问题。\n}));                            // [ [ 'zhōng' ], [ 'xīn' ] ]\nconsole.log(pinyin(\"中心\", {\n  style: pinyin.STYLE_INITIALS, // 设置拼音风格\n  heteronym: true\n}));                            // [ [ 'zh' ], [ 'x' ] ]\n```\n\n命令行：\n\n```bash\n$ pinyin 中心\nzhōng xīn\n$ pinyin -h\n```\n\n\n## API\n\n### 方法 `<Array> pinyin(words[, options])`\n\n将传入的中文字符串 (words) 转换成拼音符号串。\n\noptions 是可选的，可以设定拼音风格，或打开多音字选项。\n\n返回二维数组，第一维每个数组项位置对应每个中文字符串位置。\n第二维是各个汉字的读音列表，多音字会有多个拼音项。\n\n### 方法 `Number pinyin.compare(a, b)`\n\n按拼音排序的默认算法。\n\n## 参数\n\n### `<Boolean> options.segment`\n\n是否启用分词模式，中文分词有助于极大的降低多音字问题。\n但性能会极大的下降，内存也会使用更多。\n\n### `<Boolean> options.heteronym`\n\n是否启用多音字模式，默认关闭。\n\n关闭多音字模式时，返回每个汉字第一个匹配的拼音。\n\n启用多音字模式时，返回多音字的所有拼音列表。\n\n### `<Object> options.style`\n\n指定拼音 风格。可以通过以下几种 `STYLE_` 开头的静态属性进行指定。\n\n## 静态属性\n\n### `.STYLE_NORMAL`\n\n普通风格，即不带声调。\n\n如：`pin yin`\n\n### `.STYLE_TONE`\n\n声调风格，拼音声调在韵母第一个字母上。\n\n注：这是默认的风格。\n\n如：`pīn yīn`\n\n### `.STYLE_TONE2`\n\n声调风格 2，即拼音声调以数字形式在各个拼音之后，用数字 [0-4] 进行表示。\n\n如：`pin1 yin1`\n\n### `.STYLE_TO3NE`\n\n声调风格 3，即拼音声调以数字形式在注音字符之后，用数字 [0-4] 进行表示。\n\n如：`pi1n yi1n`\n\n### `.STYLE_INITIALS`\n\n声母风格，只返回各个拼音的声母部分。对于没有声母的汉字，返回空白字符串。\n\n如：`中国` 的拼音 `zh g`\n\n注：声明风格会区分 `zh` 和 `z`，`ch` 和 `c`，`sh` 和 `s`。\n\n注意：部分汉字没有声母，如 `啊`，`饿` 等，另外 `y`, `w`, `yu` 都不是声母，\n这些汉字的拼音声母风格会返回 `\"\"`。请仔细考虑你的需求是否应该使用首字母风格。\n详情请参考 [为什么没有 y, w, yu 几个声母](#为什么没有 -y-w-yu- 几个声母)\n\n### `.STYLE_FIRST_LETTER`\n\n首字母风格，只返回拼音的首字母部分。\n\n如：`p y`\n\n\n## Test\n\n```\nnpm test\n```\n\n## Q&A\n\n### 关于 Web 版如何使用\n\n首先，我建议大家应该优先考虑在服务端一次性转换拼音并将结果持久化，避免在客户端每次转换损耗性能和体验。\n\n如果你坚持在客户端使用，你可以考虑使用 [Webpack](http://webpack.github.io/) + [Babel](http://babeljs.io/) 来转换成低端浏览器的可执行代码。\n\n实在不想折腾，可以试试 https://github.com/hotoo/pinyin/tree/gh-pages/dist\n\n### 为什么没有 `y`, `w`, `yu` 几个声母？\n\n声母风格（INITIALS）下，“雨”、“我”、“圆”等汉字返回空字符串，因为根据《汉语拼音方案》，\n`y`，`w`，`ü (yu)` 都不是声母，在某些特定韵母无声母时，才加上 `y` 或 `w`，而 `ü` 也有其特定规则。\n\n如果你觉得这个给你带来了麻烦，那么也请小心一些无声母的汉字（如“啊”、“饿”、“按”、“昂”等）。\n这时候你也许需要的是首字母风格（FIRST_LETTER）。\n\n### 如何实现按拼音排序？\n\npinyin 模块提供了默认的排序方案：\n\n```js\nconst pinyin = require('pinyin');\n\nconst data = '我要排序'.split('');\nconst sortedData = data.sort(pinyin.compare);\n```\n\n如果默认的比较方法不能满足你的需求，你可以自定义 pinyinCompare 方法：\n\n```\nconst pinyin = require('pinyin');\n\nconst data = '我要排序'.split('');\n\n// 建议将汉字的拼音持久化存储起来。\nconst pinyinData = data.map(han => ({\n  han: han,\n  pinyin: pinyin(han)[0][0], // 可以自行选择不同的生成拼音方案和风格。\n}));\nconst sortedData = pinyinData.sort((a, b) => {\n  return a.pinyin.localeCompare(b.pinyin);\n}).map(d => d.han);\n```\n\n### node 版和 web 版有什么异同？\n\n`pinyin` 目前可以同时运行在 Node 服务器端和 Web 浏览器端。\nAPI 和使用方式完成一致。\n\n但 Web 版较 Node 版稍简单，拼音库只有常用字部分，没有使用分词算法，\n并且考虑了网络传输对词库进行了压缩处理。\n\n由于分词和繁体中文的特性，部分情况下的结果也不尽相同。\n\n| 特性         | Web 版                          | Node 版                           |\n|--------------|--------------------------------|----------------------------------|\n| 拼音库       | 常用字库。压缩、合并           | 完整字库。不压缩、合并           |\n| 分词         | 没有分词                       | 使用分词算法，多音字拼音更准确。 |\n| 拼音频度排序 | 有根据拼音使用频度优先级排序。 | 同 Web 版。                       |\n| 繁体中文     | 没有繁体中文支持。             | 有简单的繁简汉字转换。           |\n\n由于这些区别，测试不同运行环境的用例也不尽相同。\n\n\n[MIT](http://hotoo.mit-license.org/)\n","readmeFilename":"README.md"}