Unicode Normalize

v0.1.0Hinzugefügt am 26. Sept. 2026Beispieldaten

Unicode-Bereinigung für Text-Pipelines: NFC/NFKC-Normalisierung, Zusammenfassen von Leerraum und Entfernen unsichtbarer Zeichen.

cargo install kura-rs
kura add unicode-normalize

Kopiert die Quelldatei in dein Projekt. Ab dann gehört der Code dir.

Wenn ein anderes Tool bereits einen kura-Befehl installiert, führe cargo install kura-rs --bin kura-rs aus und nutze stattdessen kura-rs add.

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

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

Verifikation

Beispieldaten

Geprüft gegen unicodedata 3.12 (Python). Verfahren: Property-based Testing. Beide Implementierungen erhalten dieselben Eingaben, die Ausgaben werden verglichen.

Referenz
unicodedata
Python 3.12
Testfälle
10.000
Property-based Testing
Bestanden
10.000 / 10.000
Alle Fälle stimmen überein
Letzter Lauf
26. Sept. 2026
UTC

Diese Werte sind Platzhalter. Sie wurden noch nicht gemessen und dürfen nicht als echte Ergebnisse gelesen werden. Dieser Baustein ist in seiner Registry-Datei mit "sample": true markiert.

Benchmarks

Beispieldaten

kura-rs (Rust) im Vergleich zu unicodedata über verschiedene Eingabegrößen. Schneller ab etwa 143 Eingaben, bis zu 2.2× schneller.

Diese Werte sind Platzhalter. Sie wurden noch nicht gemessen und dürfen nicht als echte Ergebnisse gelesen werden. Dieser Baustein ist in seiner Registry-Datei mit "sample": true markiert.

kura-rs (Rust)unicodedata
Laufzeit pro Durchlauf (niedriger ist besser). Im schattierten Bereich ist die Referenzimplementierung schneller.
Datentabelle anzeigen
Eingabegrößekura-rs (Rust)unicodedataSpeedup
100,01 ms0 ms3.0× langsamer
1000,02 ms0,02 ms1.1× langsamer
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×

Dateien

  • parts/unicode_normalize/mod.rs

Crate-Abhängigkeiten