Wat is Unicode-normalisatie?

Unicode definieert meerdere manieren om hetzelfde zichtbare teken weer te geven. Het teken "é" kan bijvoorbeeld worden opgeslagen als een enkel samengesteld codepunt (U+00E9) of als de letter "e" gevolgd door een combinerende acute accent (U+0065 U+0301). Beide worden identiek weergegeven, maar zijn byte-voor-byte verschillend, wat problemen veroorzaakt bij tekenreeksvergelijking, zoeken en tekstverwerking.

Unicode-normalisatie is het proces waarbij tekst wordt geconverteerd naar een canonieke representatie, zodat equivalente tekenreeksen identiek worden. De Unicode-standaard definieert vier normalisatievormen:

  • NFC (Canonieke decompositie, gevolgd door canonieke compositie): Samengestelde vorm; meest compact, veel gebruikt op het web en in de meeste besturingssystemen.
  • NFD (Canonieke decompositie): Volledig gedecomponeerde vorm; elk teken wordt opgesplitst in basisletter plus combinerende markeringen.
  • NFKC (Compatibiliteitsdecompositie, gevolgd door canonieke compositie): Zoals NFC, maar vouwt ook compatibiliteitstekens (bijvoorbeeld ligaturen, superscripts, volledige breedte varianten) in hun canonieke equivalenten.
  • NFKD (Compatibiliteitsdecompositie): Zoals NFD, maar past ook compatibiliteitsdecompositie toe.

Gereedschapbeschrijving

Dit gereedschap normaliseert Unicode-tekst van de ene normalisatievorm naar de andere. Selecteer de bron- en doelvormen, plak uw tekst, en de geconverteerde uitvoer verschijnt onmiddellijk.

Functies

  • Alle vier normalisatievormen: Ondersteunt NFC, NFD, NFKC en NFKD als bron en doel.
  • Bidirectionele conversie: Schakel vrij tussen elke combinatie van vormen.
  • Realtime-uitvoer: Tekst wordt onmiddellijk genormaliseerd terwijl u typt of plakt.
  • Verwerkt elk Unicode-script: Werkt met Latijn, CJK, Arabisch, Cyrillisch en elke ander Unicode-gecodeerde tekst.

Hoe het werkt

Het gereedschap past de standaard JavaScript String.prototype.normalize() methode toe met de geselecteerde doelvorm. Dit is een volledig spec-conforme implementatie van Unicode-normalisatie zoals gedefinieerd in Unicode Standard Annex #15.

Gebruiksscenario's

  • Tekenreeksvergelijkingsoplossingen: Normaliseer tekst voordat u deze vergelijkt of indexeert, zodat visueel identieke tekenreeksen correct overeenkomen.
  • Zoek- en databaseconsistentie: Standaardiseer gebruikersinvoer naar één vorm (meestal NFC) voordat u deze in een database opslaat, om dubbele vermeldingen te voorkomen die alleen in codering verschillen.
  • Compatibiliteitssamenvouwing: Gebruik NFKC om ligaturen, superscripts en volledige breedtetekens in hun standaardequivalenten samen te vouwen voor zoekindexering of natuurlijke taalverwerking.