Hva er Unicode-normalisering?

Unicode definerer flere måter å representere det samme synlige tegnet på. For eksempel kan tegnet "é" lagres som et enkelt prekomponert kodepunkt (U+00E9) eller som bokstaven "e" etterfulgt av en kombinert akuttaksent (U+0065 U+0301). Begge gjengis identisk, men er byte-for-byte forskjellige, noe som forårsaker problemer for strengsammenligning, søk og tekstbehandling.

Unicode-normalisering er prosessen med å konvertere tekst til en kanonisk representasjon slik at ekvivalente strenger blir identiske. Unicode-standarden definerer fire normaliseringsformer:

  • NFC (Kanonisk dekomposisjon, etterfulgt av kanonisk komposisjon): Prekomponert form; mest kompakt, mye brukt på nettet og i de fleste operativsystemer.
  • NFD (Kanonisk dekomposisjon): Fullt dekomponert form; hvert tegn er delt opp i grunntegn pluss kombinasjonstegn.
  • NFKC (Kompatibilitetsdekomposisjon, etterfulgt av kanonisk komposisjon): Som NFC, men bretter også kompatibilitetstegn (f.eks. ligatur, hevet skrift, fullbredde-varianter) inn i deres kanoniske ekvivalenter.
  • NFKD (Kompatibilitetsdekomposisjon): Som NFD, men bruker også kompatibilitetsdekomposisjon.

Verktøybeskrivelse

Dette verktøyet normaliserer Unicode-tekst fra en normaliseringsform til en annen. Velg kilde- og målformene, lim inn teksten din, og det konverterte resultatet vises øyeblikkelig.

Funksjoner

  • Alle fire normaliseringsformer: Støtter NFC, NFD, NFKC og NFKD som både kilde og mål.
  • Toveis konvertering: Bytt mellom hvilken som helst kombinasjon av former fritt.
  • Sanntidsresultat: Tekst normaliseres øyeblikkelig når du skriver eller limer inn.

Hvordan det fungerer

Verktøyet bruker standard JavaScript-metoden String.prototype.normalize() med den valgte målformen. Dette er en fullt spesifikasjonskompatibel implementering av Unicode-normalisering som definert i Unicode Standard Annex #15.