把汉字转换成拼音的开源工具——pinyin.js/JavaScript
创始人
2025-09-04 18:05:42
0次

汉字转拼音软件_汉字转拼音_好用的汉字转拼音软件

开源前线猿女重组

GitHub上还有很多有意思的开源小工具,明天给大家分享一个开源工具,可以把你的汉字转成拼音——拼音,比如:Chinese Pinyin➜hànjiāpīnyīn。

汉字转拼音_汉字转拼音软件_好用的汉字转拼音软件

截止到明天,该项目已经获得了3523个“stars”和489个“forks”,不过开发者也很辛苦,上次更新也就是十天前了。 (GitHub项目地址:)

这个开源工具是帮助你把英文字符转换成拼音,可以用于中文注音、排序和检索。 并且支持在Node和Web浏览器环境中运行。 具有以下特点:

●根据词义智能匹配最正确的拼音。

●支持和弦字符。

● Simple 简体中文支持。

●支持多种不同的拼音风格。

不过,这个小工具也有不同的语言版本,包括 Javascript、Python、Go 和 Rust。 下面我们主要介绍Node.js/Javascript版本:

1.Node.js/Javascript版本

安装:

vianpm

npm install pinyin

用法:

var pinyin = require("pinyin");

console.log(pinyin("中心"));    // [ [ 'zhōng' ], [ 'xīn' ] ]
console.log(pinyin("中心", {
  heteronym: true               // 启用多音字模式
}));                            // [ [ 'zhōng', 'zhòng' ], [ 'xīn' ] ]
console.log(pinyin("中心", {
  heteronym: true,              // 启用多音字模式
  segment: true                 // 启用分词,以解决多音字问题。
}));                            // [ [ 'zhōng' ], [ 'xīn' ] ]
console.log(pinyin("中心", {
  style: pinyin.STYLE_INITIALS, // 设置拼音风格
  heteronym: true
}));                            // [ [ 'zh' ], [ 'x' ] ]

命令行:

$ pinyin 中心
zhōng xīn
$ pinyin -h                           // [ [ 'zh' ], [ 'x' ] ]

方式拼音(单词[,选项])

将传入的英文串(单词)转换为拼音符号串。 options 可选汉字转拼音软件,可以设置拼音样式汉字转拼音软件,也可以打开和弦字选项。 返回一个二维字段。 每个字段项在第一维的位置对应每个英文字符串的位置。 第二个维度是每个汉字的读音列表,多音字会有多个拼音项。

方法编号pinyin.compare(a,b)

按拼音排序的默认算法。

范围

options.segment:是否开启动词模式,英文动词有助于大大增加多音字的问题。 但是性能会大大提高,显存会占用更多。

options.heteronym:是否开启和弦字符模式,默认关闭。 当关闭多拼音模式时,返回每个汉字的第一个匹配的拼音。 当启用多音字模式时,返回所有多音字的拼音列表。

options.style:指定拼音风格。 它可以由以下以 STYLE_ 开头的静态属性指定:

静态属性

.STYLE_NORMAL:普通风格,即没有语调。 如:拼音

.STYLE_TONE:调式,拼音调在音节首字母上。 注意:这是默认样式。 如: pīnyīn

.STYLE_TONE2:声调风格2,即拼音声调用数字形式在每个拼音后面用数字[0-4]表示。 如:pin1yin1

.STYLE_TO3NE:声调样式3,即拼音声调用数字形式的注音字符后的数字[0-4]表示。 如:pi1nyi1n

.STYLE_INITIALS:声母风格,只返回每个拼音的声母部分。 对于没有声母的汉字,返回一个空字符串。 如:汉语拼音:zhg。 声明风格将 zh 与 z、ch 与 c、sh 与 s 区分开来。

注:有些汉字没有声母,如啊、饿等。另外,y、w、yu不是声母。 这些汉字的拼音声母样式会返回“”。

.STYLE_FIRST_LETTER:首字母样式,只返回拼音首字母部分。

为什么没有 y、w 和 yu 的首字母?

根据《汉语拼音方案》,y、w、ü(yu)不是声母,个别特定音节没有声母时只加y或w,ü也有其特定的规则。

2.Python版本

Python版本地址:

安装:

$ pip install pypinyin

用法示例:

Python3(在Python2下,将'center'替换为u'center'):

>>> from pypinyin import pinyin, lazy_pinyin, Style
>>> pinyin('中心')
[['zhōng'], ['xīn']]
>>> pinyin('中心', heteronym=True)  # 启用多音字模式
[['zhōng', 'zhòng'], ['xīn']]
>>> pinyin('中心', style=Style.FIRST_LETTER)  # 设置拼音风格
[['z'], ['x']]
>>> pinyin('中心', style=Style.TONE2, heteronym=True)
[['zho1ng', 'zho4ng'], ['xi1n']]
>>> pinyin('中心', style=Style.BOPOMOFO)  # 注音风格
[['ㄓㄨㄥ'], ['ㄒㄧㄣ']]
>>> pinyin('中心', style=Style.CYRILLIC)  # 俄语字母风格
[['чжун1'], ['синь1']]
>>> lazy_pinyin('中心')  # 不考虑多音字的情况
['zhong', 'xin']

3.Go版本

Go版本地址:

安装:

go get -u github.com/mozillazg/go-pinyin

安装 CLI 工具:

go get -u github.com/mozillazg/go-pinyin/cmd/pinyin
$ pinyin 中国人
zhōng guó rén

例子:

package main

import (
    "fmt"
    "github.com/mozillazg/go-pinyin"
)

func main() {
    hans := "中国人"

    // 默认
    a := pinyin.NewArgs()
    fmt.Println(pinyin.Pinyin(hans, a))
    // [[zhong] [guo] [ren]]

    // 包含声调
    a.Style = pinyin.Tone
    fmt.Println(pinyin.Pinyin(hans, a))
    // [[zhōng] [guó] [rén]]

    // 声调用数字表示
    a.Style = pinyin.Tone2
    fmt.Println(pinyin.Pinyin(hans, a))
    // [[zho1ng] [guo2] [re2n]]

    // 开启多音字模式
    a = pinyin.NewArgs()
    a.Heteronym = true
    fmt.Println(pinyin.Pinyin(hans, a))
    // [[zhong zhong] [guo] [ren]]
    a.Style = pinyin.Tone2
    fmt.Println(pinyin.Pinyin(hans, a))
    // [[zho1ng zho4ng] [guo2] [re2n]]

    fmt.Println(pinyin.LazyPinyin(hans, pinyin.NewArgs()))
    // [zhong guo ren]

    fmt.Println(pinyin.Convert(hans, nil))
    // [[zhong] [guo] [ren]]

    fmt.Println(pinyin.LazyConvert(hans, nil))
    // [zhong guo ren]
}

4.生锈版本

Rust版本地址:

将此添加到您的 Cargo.toml:

[dependencies]
pinyin = "0.4"

例子:

extern crate pinyin;

pub fn main() {
    let hans = "中国人";
    let mut args = pinyin::Args::new();

    // 默认输出 [["zhong"] ["guo"] ["ren"]]
    println!("{:?}",  pinyin::pinyin(hans, &args));
    // ["zhong", "guo", "ren"]
    println!("{:?}",  pinyin::lazy_pinyin(hans, &args));

    // 包含声调 [["zhōng"], ["guó"], ["rén"]]
    args.style = pinyin::Style::Tone;
    println!("{:?}",  pinyin::pinyin(hans, &args));

    // 声调用数字表示 [["zho1ng"] ["guo2"] ["re2n"]]
    args.style = pinyin::Style::Tone2;
    println!("{:?}",  pinyin::pinyin(hans, &args));

    // 开启多音字模式
    args = pinyin::Args::new();
    args.heteronym = true;
    // [["zhong", "zhong"] ["guo"] ["ren"]]
    println!("{:?}",  pinyin::pinyin(hans, &args));

    // [["zho1ng", "zho4ng"] ["guo2"] ["re2n"]]
    args.style = pinyin::Style::Tone2;
    println!("{:?}",  pinyin::pinyin(hans, &args));
}

你认为这是结束了吗? 其实不是,缘美搜索了一下,github上也有很多类似的项目,这里列举几个类似的项目:

1.拼音4j

Pinyin4j 是一个流行的 Java 库,支持英文字符和拼音之间的转换。 可自定义拼音输出格式。 (项目地址:)

2.拼音

拼音是一款PHP转英文拼音的工具,支持和弦字符,10w+常用词正确音译,基于CC-CEDICT词典。 (细节:)

3. 拼音

JPinyin 是一个 Java 开源解释器,可以将汉字转换为拼音。 它在PinYin4j的功能基础上做了一些改进。 具有以下特点:

1、准确完整的字库; Unicode编码范围从4E00-9FA5和3007(〇)的20903个汉字,JPinyin可以转换除46个异体字(异体字没有标准拼音)外的所有汉字;

2、拼音转换速度快; 经测试,JPinyin转换20902个Unicode编码范围为4E00-9FA5的汉字大约需要100纳秒。

3.多种拼音格式输出支持; JPinyin支持多种拼音输出格式:带注音、不带注音、数字注音、拼音首字母输出格式;

4、常见和弦字的识别; JPinyin支持识别常见的和弦字符,包括介词、成语、地名等;

5.简体英文转换;

6.支持添加自定义词典(项目地址:)

4.拼音4对象

PinYin4Objc 是一个流行的 objective-c 库,支持英文(繁体和简体)字符与最流行的拼音系统之间的转换。 它的性能非常高效。 第一次缓存数据,可以使用async方法和block,可以防止ui阻塞,运行流畅。 可自定义拼音输出格式。 (细节:)

5.中文和拼音

Java版汉字转拼音工具支持多路输出,拼音排序,中英文混合排序! (细节:)

开源中国草案启动!

Open Source China是目前备受关注、具有强大影响力的开源技术社区。 拥有超过200万开源技术精英。 我们传播开源理念,推广开源项目,为IT开发者提供一个发现、使用和交流开源技术的平台。

相关内容

热门资讯

大浪淘金APP黑幕揭秘:内盘操...   大浪淘金APP平台最隐蔽的黑幕,在于其完全封闭的内盘交易系统。这个看似与国际市场接轨的交易平台,...
告别固定工资实现财富自由?一品...   普通投资者被广告宣传诱导,注册就送现金,充值返现金券等等这些宣传方式,都是在引流到平台开户,不怕...
哈易购APP打着现货交易幌子搞...   网络上各类白银、铂金等贵金属投资广告铺天盖地,不少平台以"现货交易"为名,暗中却从事着非法期货交...
5元起投!高额收益?中国白银、...   上海华通白银国际交易中心有限公司(以下简称“华通白银国际”)打着“白银、铂金现货订购”的旗号,实...
"九州订购APP、起...   近年来,贵金属投资热度持续攀升,但乱象也随之而来。一些不法分子趁机搭建虚假交易平台,打着"低门槛...
坚锅淘金APP投资者频繁爆仓亏...   坚锅淘金APP对外宣称是贵金属现货交易平台,日常出入金看似畅通无阻,给人一种合规运营的假象。但事...
斗金订购APP“5元订购现货”...   斗金订购APP“5元订购现货”骗局揭秘:充值易、回本难,越陷越深!  许多投资人在未核实平台合规...
贵金属APP乱象曝光:&quo...   当前市场上部分贵金属类APP未取得正规交易资质,涉嫌误导消费者参与白银、铂金等商品的非合规交易!...
华通白银、银宝街APP被指虚假...   警惕现货白银投资陷阱:上海华通白银背后的平台涉嫌非法期货交易  近年来,各类现货白银交易平台以“...
充值送300,月入过万?别被量...   如今,网络上充斥着大量未经批准的贵金属及其他产品订购交易平台。这些平台普遍缺乏合法经营资质,却将...
鑫汇智投APP贵金属非法期货、...   鑫汇智投APP贵金属非法期货、人为控盘,大量投资者遭恶意收割  鑫汇智投APP长期以“低门槛、高...
矅光智策APP非法贵金属交易骗...   不少投资人在矅光智策APP上进行贵金属交易后出现了严重亏损。许多人在下载该平台时,根本不清楚其是...
飞鸽订购APP非法期货交易骗局...   飞鸽订购APP非法期货交易骗局,很多投资者根本没搞懂规则就盲目充值,买涨买跌跟买cai票一样!平...
天龙白银APP被操控的非法期货...   中小投资者在网络平台参与商品现货订购交易,表面看似合规合法,实则暗藏诸多难以察觉的风险。商品现货...
下载送试玩金?千万别碰!带你揭...   当前,许多贵金属APP交易平台正采用欺诈性营销手段。它们通过抖音等短视频平台,以“5元起投”“充...
泡泡淘金APP骗局:打着&qu...   泡泡淘金APP骗局:打着"商品订购"幌子,实则非法期货收割投资者!投资需谨慎,切勿轻信“高额回报...
南商云购APP虚假电子盘背后的...   南商云购是虚假电子盘吗?它是否具备合规的交易资质?这个曾经的"现货电子盘"如今摇身一变,披上了"...
警惕"祥龙订购&qu...   祥龙订购APP、掌上银牛APP等平台背后的运营方——四川禄宏商品现货市场有限公司,仅具备现货交易...
中国白银、华银:虚假宣传、后台...   中国白银APP宣称是上市公司“中国白银集团”与“上海华通白银国际交易中心”旗下的现货交易平台,提...
起底“优品订购”APP非法期货...   “优品订购”APP根本不具备任何合法的交易资质。其背后的运营方仅凭随便注册一家公司、开发一款交易...