15 个版本 (破坏性更新)

0.10.0 2023年5月23日
0.9.0 2021年12月12日
0.8.0 2020年6月13日
0.7.0 2019年6月12日
0.0.5 2015年11月21日

国际化 (i18n) 中排名 45

Download history 2602/week @ 2024-04-23 2532/week @ 2024-04-30 2268/week @ 2024-05-07 1655/week @ 2024-05-14 1985/week @ 2024-05-21 1858/week @ 2024-05-28 2138/week @ 2024-06-04 1869/week @ 2024-06-11 1682/week @ 2024-06-18 1808/week @ 2024-06-25 1244/week @ 2024-07-02 1011/week @ 2024-07-09 1008/week @ 2024-07-16 902/week @ 2024-07-23 1212/week @ 2024-07-30 1061/week @ 2024-08-06

每月下载 4,399
16 Crates 中使用 (12 个直接使用)

MIT 许可证

350KB
674

rust-pinyin

Build Status Crates.io Version Doc

Rust 版汉语拼音转换工具

安装

将以下内容添加到您的 Cargo.toml

[dependencies]
pinyin = "0.10"

文档

API 文档可以在此处找到:https://docs.rs/pinyin/

用法

use pinyin::{ToPinyin, ToPinyinMulti};

fn main() {
    let hans = "中国人";

    // 无声调,输出 zhong guo ren
    for pinyin in hans.to_pinyin() {
        if let Some(pinyin) = pinyin {
            print!("{} ", pinyin.plain());
        }
    }
    println!();

    // 包含声调,输出 zhōng guó rén
    for pinyin in hans.to_pinyin() {
        if let Some(pinyin) = pinyin {
            print!("{} ", pinyin.with_tone());
        }
    }
    println!();

    // 声调用数字表示,输出 zho1ng guo2 re2n
    for pinyin in hans.to_pinyin() {
        if let Some(pinyin) = pinyin {
            print!("{} ", pinyin.with_tone_num());
        }
    }
    println!();

    // 多音字,输出
    // zho1ng zho4ng
    // guo2
    // re2n
    for multi in hans.to_pinyin_multi() {
        if let Some(multi) = multi {
            for pinyin in multi {
                print!("{} ", pinyin.with_tone_num());
            }
            println!();
        }
    }
}

构建

$ cargo build

测试

$ cargo test

数据

使用来自 pinyin-data 的拼音数据。

无运行时依赖