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 |
redigera 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).
- 08 (BS), backsteg, tangent på tangentbordet.
- 09 (HT), tabtecken, gå till nästa tabgräns, på tangentbordet.
- 0A (LF), radbyte, används i filer.
- 0D (CR), återgång till kolumn 1, används i filer, i första hand i Windows.
- 1B (ESC), startar särskild styrkodsekvens för en viss applikation, används t.ex. för PCL, ett skrivarspråk.
- 7F (DEL), radera, tangent på tangentbordet. Ursprungligen "raderat tecken" på hålremsor.
I textfiler (inkl HTML, C och andra dataspråk) förekommer bara HT, LF, CR.
redigera 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.
redigera Se även
redigera Externa länkar
