pinyin2ch
这是一个将拼音(不带声调)映射到汉字的轻量 Rust 库,提供拼音合法性检查与拼音->汉字的查找。README 使用中文写成,包含功能说明、使用示例以及可选的字表分级特性说明(level1/level2/level3)。
主要功能
- 提供
Pinyin类型,包含标准拼音音节列表与合法性检查(不带声调)。 - 提供
ChChar(汉字)类型,包含拼音与对应汉字字符串;支持从汉字推断拼音(依赖外部pinyincrate)。 - 提供拼音到汉字的映射表(多等级字表):
get_map_level1/get_map_level2/get_map_level3,以及汇总函数get_map(根据 Cargo features 合并对应级别字表)。 - 简单的单元测试示例在
src/tests.rs中。
适用场景
- 需要根据没有声调的拼音查找候选汉字的场景(输入法、拼音校验、拼音分词或笔记工具中的拼音提示等)。
快速开始
在你的 Cargo.toml 中加入 pinyin2ch:
[]
= "0.1"
示例代码:
use Pinyin;
use get_chars;
如果你想直接从汉字创建 ChChar 并自动推断拼音(依赖 pinyin crate):
let ch = from;
println!;
字表分级(features)
库源代码包含 3 个可选字表:level1、level2、level3:
level1:常用字表(默认推荐用于大多数场景)level2:扩展生僻字表level3:更偏生僻或古字
启用多级字表会在运行时 get_map() 合并对应级别的映射(后添加的 feature 会覆盖同一拼音键的条目)。
测试
项目内已有单元测试,运行:
# 在仓库根目录运行
注意:测试和某些功能依赖 pinyin 第三方 crate,用于从汉字推断拼音;请确保网络可用以获取依赖,或在离线环境中提前缓存依赖。
贡献与许可
欢迎提交 issue 或 PR。代码采用 MIT 许可证,详见 LICENSE 文件。
额外说明
- 本仓库的
src/map.rs包含了大量静态映射数据(按级别分组),如果需要更高效的查找或序列化,可考虑将映射在构建时生成或使用按需加载机制。