#unicode #decomposition #normalization #unicode-characters #recomposition #text

无 std unicode-normalization

此crate提供Unicode字符串规范化的函数,包括规范化和兼容分解和重组,如Unicode标准附件#15所述

27次发布

0.1.23 2024年2月20日
0.1.22 2022年9月16日
0.1.21 2022年7月1日
0.1.19 2021年6月2日
0.1.1 2015年7月9日

#6 in 文本处理

Download history · Rust 包仓库 2012812/week @ 2024-04-19 · Rust 包仓库 1853733/week @ 2024-04-26 · Rust 包仓库 1927502/week @ 2024-05-03 · Rust 包仓库 1999213/week @ 2024-05-10 · Rust 包仓库 2035797/week @ 2024-05-17 · Rust 包仓库 1926421/week @ 2024-05-24 · Rust 包仓库 2044639/week @ 2024-05-31 · Rust 包仓库 1942214/week @ 2024-06-07 · Rust 包仓库 1812892/week @ 2024-06-14 · Rust 包仓库 1954053/week @ 2024-06-21 · Rust 包仓库 1800444/week @ 2024-06-28 · Rust 包仓库 1975198/week @ 2024-07-05 · Rust 包仓库 2030818/week @ 2024-07-12 · Rust 包仓库 2083008/week @ 2024-07-19 · Rust 包仓库 2050442/week @ 2024-07-26 · Rust 包仓库 2176058/week @ 2024-08-02 · Rust 包仓库

8,732,796 每月下载量
29,496 个crate(191直接)中使用

MIT/Apache

700KB
39K SLoC

unicode-normalization

Build Status Docs

Unicode字符组合和分解工具,如Unicode标准附件#15所述。

此crate需要Rust 1.36+。

extern crate unicode_normalization;

use unicode_normalization::char::compose;
use unicode_normalization::UnicodeNormalization;

fn main() {
    assert_eq!(compose('A','\u{30a}'), Some('Å'));

    let s = "ÅΩ";
    let c = s.nfc().collect::<String>();
    assert_eq!(c, "ÅΩ");
}

crates.io

您可以通过将以下内容添加到您的Cargo.toml来在项目中使用此包

[dependencies]
unicode-normalization = "0.1.23"

no_std + alloc支持

此crate完全兼容no_std + alloc。这可以通过禁用std功能来实现,即在您的Cargo.toml中指定此crate的default-features = false

依赖项