ASCII

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

ASCII [’askɪ], eller American Standard Code for Information Interchange, är en teckenkodning som används för att representera bokstäver och andra tecken i datorer. Koden använder sju bitar vilket ger plats för 128 olika tecken. ASCII har samma tecken som referensversionen av ISO/IEC 646 plus 7-bitars styrkoderna i ISO/IEC 6429. ASCII designades för USA:s behov och räcker inte för något annat språk än engelska, eftersom några andra bokstäver än A-Z och a-z inte ingår.

Med ASCII som grund har olika utvidningar gjorts. Till exempel ISO/IEC 8859-serien av teckenkodningar. De äldre kodningarna i Windows (CP1250, CP1252, CP932, m.fl) och Mac OS (MacRoman, MacJapanese, m.fl) är även de utvidgningar av ASCII. Dessa utvidgningar har ersatt ASCII i användning (eftersom 8 bitar är tillgängligt överallt numera), men de följer ASCII för de tecken som ingår i ASCII.

Internet startades med ASCII och 7 bitars överföring som grund, därför skapades nationella 7-bitsvarianter av ASCII i nästan alla länder, även i Storbritannien som behövde pundtecket £, och i Canada som ville stödja franska. Först ett gott stycke in på 1990-talet fungerade 8 bitars överföring av t.ex. e-mail överallt på internet.

ASCII-utvidgningarna med 8 bitar, håller sakta på att ersättas med Unicode, en teckenkodning som använder mer än 8 bitar, och som stöder alla språk. För att lagra Unicode i filer använder man oftast UTF-8 som fungerar som en utvidgad ASCII, eller UTF-16 där tecknen lagras i 2-byte-sekvenser.

Innehåll

Kodtabell

Kodpositionerna 00 - 1F samt 7F används för olika styrtecken, medan de övriga används för skrivbara tecken.

ASCII
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC IS4 IS3 IS2 IS1
2x blank  ! " # $  % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9  :  ; < = >  ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~ DEL

Exempel på tillämpningar då styrtecken används

  • 00 (NUL), avslutar textsträng program skrivna i C med flera språk (skrivs '\0' i källkoden i C). På hålremsor ger tecknet inget hål, varför koden kunde användas för att lämna block att fyllas i senare.
  • 03 (ETX), ”End of Text”, används ofta för att avbryta en process
  • 07 (BEL), ringning. Klocka på fjärrskrivare, kort pip på terminaler och persondatorer, ibland en blinkning i terminalemulatorer. Klockan fanns tillgänglig på fjärrskrivare för att varna för radslut och används för varningar i många sammanhang.
  • 08 (BS), backsteg, tangent på tangentbordet. Användes ofta för att stryka tecknet framför markören.
  • 09 (HT), tabtecken, gå till nästa tabgräns, på tangentbordet.
  • 0A (LF), radbyte.
  • 0C (FF), sidbyte.
  • 0D (CR), återgång till kolumn 1, används ofta tillsammans med LF.
  • 11 (DC1), XON, flödeskontroll: fortsätt sända
  • 13 (DC3), XOFF, flödeskontroll: håll upp med sändning
  • 1A (SUB), felaktigt tecken, i tidiga DEC-system, CP/M och DOS (i vissa fall) anger tecknet filslut.
  • 1B (ESC), startar särskild styrkodsekvens för en viss applikation, används t.ex. för PCL och kontrollkoder för vt- och ANSI-terminaler.
  • 7F (DEL), radera, tangent på tangentbordet. Ursprungligen "raderat tecken" på hålremsor (hål i alla positioner).

I textfiler (inkl HTML, C och andra dataspråk) förekommer bara HT, LF, CR.

Svensk variant av kodtabell

Eftersom de svenska tecknen saknades så fanns även två svenska varianter. Observera att å, ä och ö inte kommer i svensk bokstavsordning, något som gjorde sortering mer komplicerat för programmerarna, men ökade kompatibilitet med norsk/dansk och tysk ISO-646. (Men den komplikationen finns även för engelska, då stora och små bokstäver normalt inte görs primär skillnad på i alfabetisk sortering.) Styrtecknen och tecknen inom 20-3F är samma som ASCII.

ISO/IEC 646, svensk variant, endast 20-7F visade
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
2x blank  ! " # $  % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9  :  ; < = >  ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z Ä Ö Å ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z ä ö å ~ DEL

Det fanns parallellt en variant av den i Sverige, där @ ersatts av É, ^ av Ü, ` av é och ~ av ü för att stödja ord som "idé" och namn med é och ü.

ISO/IEC 646, svensk variant 2, endast 20-7F visade
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
2x blank  ! " # $  % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9  :  ; < = >  ?
4x É A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z Ä Ö Å Ü _
6x é a b c d e f g h i j k l m n o
7x p q r s t u v w x y z ä ö å ü DEL

De icke-engelska 7-bitarsvarianterna hade sina problem eftersom amerikanska system kunde behöva de tecken som saknas, t.ex. vid programmering:
{ a[i]='\n'; }
blev till
ä aÄiÅ='Ön'; å

Svensk 7 bits-ASCII används delvis fortfarande inom ekonomi och redovisning. Man ser där oftast inga större behov av att stödja andra språk än svenska (och engelska i samband med internationella överföringar). Exempelvis vid överföring av pengar mellan svenska banker fungerar bara A-Ö i texten.

Se även

Externa länkar

Personliga verktyg