ASCII (uttalas az-kee, eller "ass-key" i amerikansk uttalstradition) är en standardiserad teckentabell som definierar hur text representeras i datorer och annan elektronisk utrustning. ASCII är en förkortning för American Standard Code for Information Interchange och utvecklades på 1960‑talet, delvis baserad på äldre koder från telegrafsystem. ASCII används för att hantera text som använder det engelska alfabetet, siffror och vanliga skiljetecken och symboler som symboler. I vardagligt språk kan man säga att en fil "är i ASCII" när det rör sig om vanlig text (plain text).
Vad ASCII definierar
ASCII specificerar 128 tecken, med kodvärden från 0 till 127. Dessa inkluderar:
- Kontrolltecken (kod 0–31 och 127) som inte skrivs ut, utan används för att styra textbehandling och kommunikation.
- Utskrivbara tecken (kod 32–126) som blanksteg, siffror, versaler och gemener i det engelska alfabetet samt skiljetecken och andra vanliga symboler.
Kodpunkter — binärt, hex och decimalt
Varje ASCII‑tecken tilldelas ett numeriskt kodvärde. Exempelvis representeras den stora bokstaven A av talet 65 i bas‑10, vilket är 0x41 i hexadecimaltal och i 7‑bitars binär form 1000001. På samma sätt följer B och C sekventiellt: 66 (0x42, 1000010), 67 (0x43, 1000011) osv.
Kontrolltecken — vanliga exempel
Kontrolltecken användes ursprungligen för att styra skrivare och terminaler. Många av dem har idag andra eller föråldrade användningsområden, men vissa är fortfarande centrala i dator- och nätverkskommunikation:
- NUL (0) — null, används för att markera slut eller fyllnad i vissa sammanhang
- BEL (7) — ringsignal (bell)
- BS (8) — backspace
- HT (9) — horisontell tab
- LF (10) — line feed, ny rad i Unix-liknande system
- CR (13) — carriage return, ny rad i äldre system och Windows i kombination CR+LF
- ESC (27) — escape, startar många terminalstyrningssekvenser
- DEL (127) — delete, ursprungligen avsedd för att radera tecken
7‑bitars kod och 8‑bitars lagring
Formellt är ASCII en 7‑bitars teckenkod (värden 0–127). I praktiken lagras och överförs data ofta i 8‑bitars bytes. När man använde seriella överföringar och modem var det vanligt att lägga till en åttonde bit som en paritetsbit för felkontroll. Därför ser man ibland beskrivningar som nämner 8 bitar — då avser man ett 7‑bitars ASCII‑värde plus en extra paritetsbit i varje byte som sänds. Paritet hjälpte till att upptäcka överföringsfel när anslutningarna var bullriga.
Utvidgningar och efterföljare
Eftersom ASCII bara täcker 128 tecken utvecklades senare 8‑bitars teckenuppsättningar som kunde representera ytterligare tecken (till exempel accenter och tecken för andra språk). Exempel på sådana är ISO‑8859‑1 (Latin‑1) och Windows‑1252. Dessa kallas ibland "extended ASCII" även om det inte finns någon enhetlig standard med det namnet.
Unicode tog över som den moderna standarden för att stödja alla världens skrivsystem. De första 128 tecknen i Unicode är identiska med ASCII, vilket gör ASCII till en underuppsättning av Unicode.
Historik och påverkan
ASCII utarbetades i USA under 1960‑talet av arbetsgrupper som ville standardisera textrepresentationen mellan olika system och maskiner. Det blev snabbt en grundpelare i datakommunikation och nätverksprotokoll — många protokoll och filformat antar fortfarande att text är ASCII eller att dess första 128 tecken överensstämmer med ASCII‑tabellen.
Praktiska exempel
- Bokstaven A: decimalt 65, hex 0x41, binärt (7 bitar) 1000001.
- Mellanslag (space): decimalt 32. Det första utskrivbara tecknet i ASCII.
- Ny rad i Unix: LF (decimalt 10). I Windows används CR+LF (13 och 10).
Sammanfattningsvis är ASCII en enkel, tidig och fortfarande inflytelserik teckenkod: en 7‑bitars standard för engelskspråkig text som lade grunden för senare 8‑bitars encodings och för den globala Unicode‑standarden.


