Unicode Normalize

v0.1.0Adicionado em 26 de set. de 2026Dados de exemplo

Limpeza Unicode para pipelines de texto: normalização NFC/NFKC, unificação de espaços e remoção de caracteres invisíveis.

Dados de exemplo. Estes valores são provisórios, não medições.

cargo install kura-rs
kura add unicode-normalize

Copia o arquivo de código-fonte para o seu projeto. A partir daí, o código é seu.

Se outra ferramenta já instala um comando kura, execute cargo install kura-rs --bin kura-rs e use kura-rs add no lugar.

use crate::parts::unicode_normalize::{normalize, Options};

let clean = normalize(&raw, Options::nfkc().fold_whitespace().strip_invisible());

Verificação

Dados de exemplo

Verificado com unicodedata 3.12 (Python). Método: Teste baseado em propriedades. As mesmas entradas são enviadas às duas implementações e as saídas são comparadas.

Referência
unicodedata
Python 3.12
Casos de teste
10.000
Teste baseado em propriedades
Aprovados
10.000 / 10.000
Todos os casos batem
Última execução
26 de set. de 2026
UTC

Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.

Benchmarks

Dados de exemplo

kura-rs (Rust) comparado com unicodedata em vários tamanhos de entrada. Mais rápido a partir de cerca de 143 entradas, até 2.2× mais rápido.

Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.

kura-rs (Rust)unicodedata
Tempo real por execução (menor é melhor). A área sombreada é onde a implementação de referência é mais rápida.
Mostrar tabela de dados
Tamanho da entradakura-rs (Rust)unicodedataAceleração
100,01 ms0 ms3.0× mais lento
1000,02 ms0,02 ms1.1× mais lento
1.0000,09 ms0,16 ms1.8×
10.0000,8 ms1,7 ms2.1×
100.0007,9 ms17 ms2.2×
1.000.00078 ms172 ms2.2×

Arquivos

  • parts/unicode_normalize/mod.rs

Dependências (crates)