Skip to main content

Lagring av bokstaver og symboler

Som vi har sett på i de forrige delkapitlene, datamaskiner forstår i utgangspunktet ikke noe mer enn 0 og 1. Ta for eksempel rekken 01000001, hvis vi tenker at det er et tall i totallsystemet, representerer tallrekken tallet 65 i titallsystemet. Datamaskinen vet ingenting om tallet 65, den ser bare rekken 01000001, det at det representerer tallet 65 er bare noe vi mennesker har funnet på.

Hvis vi blir enige om at 00001 representerer bokstaven A, 00010 representerer bokstaven B og at 00011 representerer C og så videre for alle bokstavene i alfabetet helt til at 11100 representerer Å. Da vil vi kunne representere hele alfabetet med kombinasjoner av 0 og 1, og ved å sette sammen bokstavene kan vi representere hele ord. F.eks. vil HEI vil være 01000 00101 01001.

Tegnsett

Tegnsett er tabeller som kobler sammen tegn og tall.

På 60-tallet laget en gruppe amerikanere en tabell som koblet sammen tall og tegn. Tabellen het ASCII (American Standard Code for Information Interchange), og ble den nye standarden for hvordan datamaskiner skulle tolke bokstaver fra kombinasjoner av 0 og 1. Amerikanerne bestemte seg for at i ASCII-tabellen er A lik 0100 0001 som blir tallet 65 i titallsystemet, B er lik 0100 0010 som blir 66 i titallssystemet osv.

ASCII-tabellen brukte bare 7-bit, som gjorde at den bare hadde plass til 128 forskjellige tegn. Æ, Ø og Å var for eksempel ikke med i tabellen. Derfor utviklet etterhvert andre tabeller som bygde på ASCII. Blant andre lagde Microsoft sin egen tabell, ANSI, med 8-bit som ga mulighet for 256 tegn (inkludert Æ, Ø og Å).

I dag er Unicode-tabellen den vanligste, den består av 256-tegn (8-bit).

Det finnes og større utvidelser av unicode-tabellen. UTF-16 (16-bits) og UTF-32 (32-bits), men de er relativt lite brukt.

Tall i titallsystemetTall i totallssytemetTegn
650100 0001A
660100 0010B
670100 0011C
680100 0100D
690100 0101E
.........
970110 0001a
980110 0010b
990110 0011c
1000110 0100d
.........
1971100 0101Å
1981100 0110Æ
.........
2161101 1000Ø

Tabellen over er et utdrag av Unicode-tabellen.

Tegn i programmeringsspråk

Du har kanskje lagt merke til at vi skriver <meta charset="utf-8"> i <head> i HTML-filene våre. Det er her du velger hvilket tegnsett (tabell) datamaskinen skal bruke for å tolke innholdet i HTML-filen. UTF-8 står for Unicode 8-bits.

Meta-tag

Når vi lagrer informasjon digitalt er det vi som mennesker som må fortelle datamaskinen hvordan den skal tolke kombinasjonen av 0 og 1. Vanlige folk merker ikke noe til dette, fordi det er programmert inn i datamaskinene og appene vi bruker, men de som lager datamaskinene og appene må fortelle datamaskinen hvordan den skal tolke all informasjon som skal vises eller lagres.

I programmeringsspråket javascript forteller vi datamaskinen at den skal tolke noe som tekst ved å sette anførselstegn rundt teksten, slik "Tekst i javascript". Hvis du f.eks setter anførselstegn rundt tall, slik "23", tolker datamaskinen det som tekst. En typisk nybegynnerfeil i programmering er å gjøre matte på to tekster, for eksempel blir "23" + "23" lik "2323".