| Crates.io | pinyin |
| lib.rs | pinyin |
| version | 0.11.0 |
| created_at | 2015-08-27 01:35:13.27245+00 |
| updated_at | 2026-01-01 13:22:40.892085+00 |
| description | Convert Chinese to pinyin |
| homepage | https://github.com/mozillazg/rust-pinyin |
| repository | https://github.com/mozillazg/rust-pinyin |
| max_upload_size | |
| id | 2931 |
| size | 991,950 |
汉语拼音转换工具 Rust 版
Add this to your Cargo.toml:
[dependencies]
pinyin = "0.11"
API documentation can be found here: https://docs.rs/pinyin/
use pinyin::{ToPinyin, ToPinyinMulti};
fn main() {
let hans = "中国人";
// 无声调,输出 zhong guo ren
for pinyin in hans.to_pinyin().flatten() {
print!("{} ", pinyin.plain());
}
println!();
// 包含声调,输出 zhōng guó rén
for pinyin in hans.to_pinyin().flatten() {
print!("{} ", pinyin.with_tone());
}
println!();
// 声调用数字表示,输出 zho1ng guo2 re2n
for pinyin in hans.to_pinyin().flatten() {
print!("{} ", pinyin.with_tone_num());
}
println!();
// 声调用数字在末尾表示,输出 zhong1 guo2 ren2
for pinyin in hans.to_pinyin().flatten() {
print!("{} ", pinyin.with_tone_num_end());
}
println!();
// 多音字,输出
// zho1ng zho4ng
// guo2
// re2n
for multi in hans.to_pinyin_multi().flatten() {
for pinyin in multi {
print!("{} ", pinyin.with_tone_num());
}
println!();
}
}
$ cargo build
$ cargo test
使用来自 pinyin-data 的拼音数据。