0

Dekodiert

Unicode NFD
Unicode NFKD

Kodiert

Unicode NFC
Unicode NFKC

Über Unicode-Normalisierung

Unicode-Normalisierung bezeichnet das Zerlegen und Zusammensetzen von Zeichen. In Unicode können Zeichen, die identisch aussehen, auf verschiedene Weisen dargestellt werden. Zum Beispiel kann „â“ als einzelner Codepoint „â“ (U+00E2) oder als zwei zerlegte Codepoints „a“ (U+0061) + „ ̂“ (U+0302) dargestellt werden (Basiszeichen + kombinierendes Zeichen). Ersteres nennt man precomposed character (zusammengesetztes Zeichen), letzteres combining character sequence (kombinierende Zeichenfolge, CCS).

Es gibt folgende Arten der Unicode-Normalisierung:

NormalisierungsformBeschreibungBeispiel
Normalization Form D (NFD)Kanonische Zerlegung„â“(U+00E2) -> „a“(U+0061) + „ ̂“(U+0302)
Normalization Form KD (NFKD)Kompatibilitäts-Zerlegung„fi“(U+FB01) -> „f“(U+0066) + „i“(U+0069)
Normalization Form C (NFC)Kanonische Zerlegung, gefolgt von kanonischer Zusammensetzung„â“(U+00E2) -> „a“(U+0061) + „ ̂“(U+0302) -> „â“(U+00E2)
Normalization Form KC (NFKC)Kompatibilitäts-Zerlegung, gefolgt von kanonischer Zusammensetzung„fi“(U+FB01) -> „f“(U+0066) + „i“(U+0069) -> „f“(U+0066) + „i“(U+0069)

Kanonische Äquivalenz normalisiert Zeichen, die visuell und funktionell gleichwertig sind. Bsp.: „â“ <-> „a“ + „ ̂“

Kompatibilitäts-Äquivalenz normalisiert neben der kanonischen Äquivalenz auch Zeichen, die semantisch unterschiedlich sein können. Bsp.: „fi“ -> „f“ + „i“