Unicode er et tegnsett for representasjon av tekstlig informasjon digitalt. Unicode kan i de største versjonene håndtere alle tegn fra historiske og nåværende språk, samt alle andre symboler som kan inngå i en tekst. For de vanligste versjonene av Unicode har man teoretisk inntil 1 114 112 mulige tegn, avhengig av lagringsmetode, noe som er en vesentlig økning fra forgjengeren ASCII og utvidet ASCII sine begrensninger på 128 og 256 tegn.

Tegn i Unicode kodes som regel ved hjelp av UTF (Unicode Transformation Format). Her blir hvert tegn representert som kodepunkter, hvor tallene i kodepunktet består av henholdsvis 8, 16 eller 32 bits. Derfor er for eksempel ikke 8-bit-versjonen begrenset til 256 tegn, da man kan benytte flere slike 8-bit tall for å angi kodepunkter til et tegn.

UTF-8

UTF-8 benytter 1–4 bytes for å representere tegn, noe som gir 256 mulige tegn ved 1 byte og 1 114 112 tegn ved 4 bytes. UTF-8 er bakoverkompatibelt med ASCII, da UTF-8 med 1 byte samsvarer med dette tegnsettet, og gjør overgangen til Unicode fra ASCII mer sømløs. UTF-8 er det mest brukte tegnsettet for nettsider (over 95 prosent av nettsider).

I en litt forenklet inndeling kan man si at:

  • UTF-8 med 1 byte representer de 128 tegnene i ASCII.
  • UTF-8 med 2 bytes representerer tegnene i de fleste europeiske språk.
  • UTF-8 med 3 bytes representerer i tillegg arabiske, hebraiske, kinesiske, japanske og koreanske tegn, samt enkelte historiske tegnsett.
  • UTF-8 med 4 bytes representerer i tillegg et stort utvalg historiske tegnsett, matematiske symboler og emoji-symboler.

Styrken med UTF-8 er at tegn lagres med variabel lengde. Dette gjør at en norsk tekst i all hovedsak vil lagres med en eller to byte for hvert tegn, men fire byte for hver emoji eller matematiske tegn i teksten. Det andre ytterpunktet, UTF-32, ville brukt fire bytes for hvert eneste tegn, noe som ville økt datastørrelsen to–tre ganger. Dette er upraktisk i lagring og overføring. Derimot kan samme størrelsen på alle tegn være mer effektivt ved prosessering.

UTF-16

UTF-16 benytter 16 bits (2 bytes) for å representere tegn, men for å kunne representere hele Unicode-tegnsettet kombineres to sett med 16 bits (såkalte surrogate pairs). UTF-16 er vanlig i en del programmeringsspråk og operativsystemer, spesielt på Windows-plattformen.

UTF-32

UTF-32 benytter 32 bits for å representere tegn. Hvert tegn representerer altså hele Unicode tegnsettet, uten ekstra tilpasning eller kombinasjoner. UTF-32 er mindre brukt enn UTF-8 og UTF-16, men benyttes ofte til intern representasjon i ulike databasesystemer, programmeringsspråk og tekstprosesseringsverktøy. Fordelen med UTF-32 er det det gir raskere prosessering, da alle tegn er representert med et like stort dataelement. Dette går imidlertid på bekostning av størrelsen på datamengden.

Les mer i Store norske leksikon

Eksterne lenker