Hopp til innhold

Tegnsett

Fra Wikipedia, den frie encyklopedi

Tegnsett eller tegnkoding er det som i datamaskiner definerer hvilket lesbart symbol som representeres av et gitt heltall. All tekst i datamaskiner er remser av heltall, i denne sammenhengen kalt tegnkoder. Tegnkodenes digitale representasjon kan være oktetter, elektriske pulser, morsekode eller hva som helst som egner seg for elektronisk databehandling.

Det er viktig at tekstdata leses etter samme tegnsett som de ble skrevet med, ellers vil noen tegnkoder bli mistolket. Nordiske tegn og diakritiske tegn er mest sårbare for denne typen programvarefeil, ettersom de er forskjellig definert eller utelatt i forskjellige tegnsett. Når informasjon om hvilket tegnsett som er brukt ikke lagres sammen med teksten, som tilfellet er med tekstfiler, er dette et uunngåelig problem.

Det moderne Unicode (som er identisk med ISO/IEC-standarden ISO/IEC 10646) er en omfattende standard som inkluderer all verdens bokstaver, tall og andre symboler, og definerer hvordan hver av dem skal assosieres med en spesifikke tallverdier. Det finnes flere standarder for å oversette disse tallverdiene til oktetter. Noen eksempler er UTF-7, UTF-8, UTF-16, UCS-2 og UCS-4. I denne sammenhengen omfatter begrepet tegnsett også kodingen til oktetter.

Foruten Unicode finnes de nordiske bokstavene ÄÅÆÖØ og äåæöø (i den rekkefølgen) i følgende tegnsett: ISO-8859-1, ISO-8859-4, ISO-8859-9, ISO-8859-10, ISO-8859-14, ISO-8859-15 og ISO-8859-16. Bare de to siste av denne tegnsettfamilien inneholder eurotegnet €.

I ASCII-baserte tegnsett er det forskjell på tegnene for tallene og tallene selv; tegnene for tallene 0-9 har verdiene 48-57. På systemer der en byte er 8 bit, lagres også 7 bits ascii som 8 bit. Tegnsettet iso-8859-1 lagrer Å som 197, Æ som 198 og Ø som 216. Små bokstaver er 32 høyere enn de tilsvarende store. Enkle alfabetiseringsalgoritmer vil derfor sortere "ÆæØøÅå" som "ÅÆØåæø". De 256 første tegnene i unicode er de samme som i iso-8859-1, men bare de 128 første tegnene av utf-8 har samme digitale representasjon som i iso-8859-1, ettersom de 128 neste tar 2 oktetter i utf-8.