[原创整理] 轻量级的Nodejs拼音库,支持中文 <-> 拼音双向转换及多种转换方式

[原创整理] 轻量级的Nodejs拼音库,支持中文 <-> 拼音双向转换及多种转换方式

简介

[PinYin.JS] 是一个纯JS实现的,简单,高效,快速的中文 <-> 拼音双向转换库,依赖于SeaJS的包管理

[PinYin.NodeJS] 在 [PinYin.JS] 的基础上进行了整合与修改,将原版的三个文件压缩合并为一个文件,并提供了标准的NodeJS接口,方便使用

下载

[下载地址]

说明

// Load PinYin Module
var PinYin = require("../Module/PinYin");

// Dafault var PinYinObject = PinYin(“美的空调”);

// Or Like This STYLE_NORMAL /var PinYinObject = PinYin(“美的空调”, { style: pinyin.STYLE_NORMAL, heteronym: fasle });/

// Print it console.log(Util.inspect(PinYinObject, false, 3, true));

// Console Out [ ‘mei’ ], [ ‘di’ ], [ ‘kong’ ], [ ‘tiao’ ]


// Load PinYin Module
var PinYin = require("../Module/PinYin");

// STYLE_TONE
var PinYinObject = PinYin("美的空调", {
    style: pinyin.STYLE_TONE,
    heteronym: fasle
});

// Print it
console.log(Util.inspect(PinYinObject, false, 3, true));

// Console Out
[ 'měi' ],
[ 'dí' ],
[ 'kōng' ],
[ 'tiáo' ] 

// Load PinYin Module
var PinYin = require("../Module/PinYin");

// STYLE_TONE2
var PinYinObject = PinYin("美的空调", {
    style: pinyin.STYLE_TONE2,
    heteronym: fasle
});

// Print it
console.log(Util.inspect(PinYinObject, false, 3, true));

// Console Out
[ 'mei3' ],
[ 'di2' ],
[ 'kong1' ],
[ 'tiao2' ]

// Load PinYin Module
var PinYin = require("../Module/PinYin");

// STYLE_INITIALS
var PinYinObject = PinYin("美的空调", {
    style: pinyin.STYLE_INITIALS,
    heteronym: fasle
});

// Print it
console.log(Util.inspect(PinYinObject, false, 3, true));

// Console Out
[ 'm' ],
[ 'd' ],
[ 'k' ],
[ 't' ] 

// Load PinYin Module
var PinYin = require("../Module/PinYin");

// STYLE_FIRST_LETTER
var PinYinObject = PinYin("美的空调", {
    style: pinyin.STYLE_FIRST_LETTER,
    heteronym: fasle
});

// Print it
console.log(Util.inspect(PinYinObject, false, 3, true));

// Console Out
[ 'm' ],
[ 'd' ],
[ 'k' ],
[ 't' ] 

// Load PinYin Module
var PinYin = require("../Module/PinYin");

// STYLE_NORMAL & heteronym == true
var PinYinObject = PinYin("美的空调", {
    style: pinyin.STYLE_NORMAL,
    heteronym: true
});

// Print it
console.log(Util.inspect(PinYinObject, false, 3, true));

// Console Out
[ 'mei' ],
[ 'di', 'de' ],
[ 'kong' ],
[ 'tiao', 'diao', 'zhou' ]

13 回复

[原创整理] 轻量级的Nodejs拼音库,支持中文 <-> 拼音双向转换及多种转换方式

简介

[PinYin.NodeJS] 是一个轻量级的、基于 JavaScript 的拼音库,用于实现中文与拼音之间的双向转换。它在 [PinYin.JS] 的基础上进行了整合与修改,提供了一个简洁且高效的 NodeJS 接口。这个库不仅支持基本的拼音转换,还支持多种不同的转换风格(如声调、首字母等)。

下载

你可以从以下链接下载这个库:

示例代码

以下是一些示例代码,展示了如何使用 [PinYin.NodeJS] 进行不同风格的拼音转换。

// 加载 PinYin 模块
const PinYin = require("./PinYin");

// 默认风格
let PinYinObject = PinYin("美的空调");
console.log(PinYinObject);
// 输出:
// [ 'mei' ],
// [ 'di' ],
// [ 'kong' ],
// [ 'tiao' ]

// 声调风格
PinYinObject = PinYin("美的空调", {
    style: PinYin.STYLE_TONE,
    heteronym: false
});
console.log(PinYinObject);
// 输出:
// [ 'měi' ],
// [ 'dí' ],
// [ 'kōng' ],
// [ 'tiáo' ]

// 声调数字风格
PinYinObject = PinYin("美的空调", {
    style: PinYin.STYLE_TONE2,
    heteronym: false
});
console.log(PinYinObject);
// 输出:
// [ 'mei3' ],
// [ 'di2' ],
// [ 'kong1' ],
// [ 'tiao2' ]

// 首字母风格
PinYinObject = PinYin("美的空调", {
    style: PinYin.STYLE_INITIALS,
    heteronym: false
});
console.log(PinYinObject);
// 输出:
// [ 'm' ],
// [ 'd' ],
// [ 'k' ],
// [ 't' ]

// 首字母风格(首字母)
PinYinObject = PinYin("美的空调", {
    style: PinYin.STYLE_FIRST_LETTER,
    heteronym: false
});
console.log(PinYinObject);
// 输出:
// [ 'm' ],
// [ 'd' ],
// [ 'k' ],
// [ 't' ]

// 多种读音风格
PinYinObject = PinYin("美的空调", {
    style: PinYin.STYLE_NORMAL,
    heteronym: true
});
console.log(PinYinObject);
// 输出:
// [ 'mei' ],
// [ 'di', 'de' ],
// [ 'kong' ],
// [ 'tiao', 'diao', 'zhou' ]

说明

  • PinYin 函数接受两个参数:待转换的字符串和一个配置对象。
  • style 参数可以设置为不同的转换风格,例如 PinYin.STYLE_TONE 表示带声调的拼音。
  • heteronym 参数用于控制是否返回多音字的所有读音,默认为 false

通过这些示例代码,你可以根据具体需求选择合适的转换风格来处理中文文本。


怎么不发布到github?

支持!

并非完全原创的项目,就不入库了 ~

嘿嘿 这个不错! 之前还不懂怎么做,现在总算有点思路了。

已更新至 Build20130416 修正首字母风格的声调问题 :)

顶一个,一般什么项目会用到拼音?

可以拿来做首字母索引之类的功能

Mark

From Noder

该帖子介绍了一个轻量级的Node.js拼音库,名为[PinYin.NodeJS]。它基于[PinYin.JS]进行了一些改进,提供了一种简单且高效的方式来实现中文和拼音之间的双向转换。该库通过不同的样式(如正常、带声调、声母等)来输出拼音,同时还支持多音字的不同读音。

以下是一些使用示例代码:

var PinYin = require("./PinYin"); // 假设PinYin库位于当前目录下的PinYin.js

// 默认样式输出
var PinYinObject = PinYin("美的空调");
console.log(PinYinObject);
// 输出: [ 'mei' ], [ 'di' ], [ 'kong' ], [ 'tiao' ]

// 带声调样式输出
var PinYinObject = PinYin("美的空调", {style: PinYin.STYLE_TONE});
console.log(PinYinObject);
// 输出: [ 'měi' ], [ 'dí' ], [ 'kōng' ], [ 'tiáo' ]

// 声调数字样式输出
var PinYinObject = PinYin("美的空调", {style: PinYin.STYLE_TONE2});
console.log(PinYinObject);
// 输出: [ 'mei3' ], [ 'di2' ], [ 'kong1' ], [ 'tiao2' ]

// 只输出声母
var PinYinObject = PinYin("美的空调", {style: PinYin.STYLE_INITIALS});
console.log(PinYinObject);
// 输出: [ 'm' ], [ 'd' ], [ 'k' ], [ 't' ]

// 只输出首字母
var PinYinObject = PinYin("美的空调", {style: PinYin.STYLE_FIRST_LETTER});
console.log(PinYinObject);
// 输出: [ 'm' ], [ 'd' ], [ 'k' ], [ 't' ]

// 支持多音字不同读音
var PinYinObject = PinYin("美的空调", {style: PinYin.STYLE_NORMAL, heteronym: true});
console.log(PinYinObject);
// 输出: [ 'mei' ], [ 'di', 'de' ], [ 'kong' ], [ 'tiao', 'diao', 'zhou' ]

注意:实际使用时,需要根据你的项目结构调整require路径。此外,确保你已经安装了此拼音库或其源代码存在于指定路径中。

回到顶部