ASCII
Från Rilpedia
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