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.
  • Håndterer alle Unicode-skript: Fungerer med Latin, CJK, arabisk, kyrillisk og all annen Unicode-kodet tekst.

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.

Brukstilfeller

  • Strengsammenligningsfiks: Normaliser tekst før du sammenligner eller indekserer den for å sikre at visuelt identiske strenger samsvarer korrekt.
  • Søk og databasekonsistens: Standardiser brukerinput til en enkelt form (typisk NFC) før du lagrer det i en database for å forhindre duplikatoppføringer som bare er forskjellige i koding.
  • Kompatibilitetsfoldning: Bruk NFKC for å slå sammen ligatur, hevet skrift og fullbredde-tegn til deres standardekvivalenter for søkeindeksering eller naturlig språkbehandling.