ASCII ( engelsk amerikansk standardkod för informationsutbyte , [ ˈ æ s . k i ] [ 1 ] ) är namnet på en tabell (kodning , uppsättning), där numeriska koder är associerade med några vanliga tryckta och icke -utskrivbara tecken. Tabellen utvecklades och standardiserades i USA 1963.
ASCII-tabellen definierar koder för tecken:
Inledningsvis (1963) utvecklades ASCII för att koda tecken vars koder passade in i 7 bitar (128 tecken; 2 7 \u003d 128), och den mest signifikanta biten nr 7 (numrering från noll) användes för att kontrollera fel som inträffade under dataöverföring . I den första versionen kodades endast versaler. Band (grupper med 16 tecken) nr 6 och 7 (numreringen börjar från 0) var reserverade för ytterligare expansion. Det har diskuterats om man ska använda detta område för små bokstäver eller kontrolltecken.
1965 utarbetades en ny upplaga av ASCII, som aldrig publicerades. Den användes inte någonstans förutom IBM 2260/2848- terminalerna . Följande specifikation publicerades 1967, och alla tecken som finns i den har inte ändrat sin position i tabellen sedan dess.
Med tiden utökades kodningen till 256 tecken (2 8 = 256); koderna för de första 128 tecknen har inte ändrats. ASCII började uppfattas som hälften av 8-bitars kodning, och "extended ASCII" kallades ASCII med den 8:e biten inblandad (till exempel KOI-8 ).
Med hjälp av tecknet Backsteg (BS) (backsteg ) på skrivaren kan du skriva ut ett tecken ovanpå ett annat. I ASCII kan du lägga till diakritiska tecken på bokstäver på samma sätt , till exempel:
Obs ! I äldre typsnitt ritades apostrof "'" snett åt vänster (jämför: " ` " och " ´ "), och tilden "~" flyttades upp (jämför: " ~ " och " ˜ "), så de bara lämplig för rollen som symbolerna akut "´" och "tilde på toppen".
Om du skriver ut samma tecken två gånger på en position får du ett fetstilt tecken; om du skriver ut ett tecken i en position och sedan ett understreck "_" får du ett understruket tecken:
Denna teknik används än idag, till exempel i hjälpsystemet man.
ISO 646 (ECMA-6) standarden ger möjlighet att placera nationella tecken i ASCII. För att göra detta föreslås att tecknen " @ ", " [ ", " \ ", " ] ", " ^ ", " ` ", " { ", " | "", " } ", " ~ ". Dessutom, istället för pundtecknet "#" kan pundsymbolen "£" placeras och i stället för dollarsymbolen "$" - valutatecknet "¤" . En variant av ASCII som inte innehåller nationella tecken kallas "US-ASCII" eller "internationell referensversion".
För vissa språk (med icke-latinsk skrift : ryska , grekiska , arabiska , hebreiska , etc.) fanns det mer radikala modifieringar av ASCII:
Därefter visade det sig vara mer praktiskt att använda 8-bitars kodningar ( code pages ), där den nedre halvan av kodtabellen (0-127) är upptagen av US-ASCII-tecken och den övre halvan (128-255) ) upptas av ytterligare tecken, inklusive en uppsättning nationella tecken. Sålunda användes den övre halvan av ASCII-tabellen (före det utbredda antagandet av Unicode ) flitigt för att representera lokaliserade tecken, bokstäverna i det lokala språket. Avsaknaden av en enda standard för att placera kyrilliska tecken i ASCII-tabellen orsakade många problem med kodningar ( KOI-8 , Windows-1251 , etc.). Talare av andra språk med icke-latinska skript led också på grund av närvaron av flera olika kodningar.
De första 128 tecknen i Unicode -standarden är desamma som motsvarande US-ASCII-tecken.
ASCII-tabell
.0 | .ett | .2 | .3 | .fyra | .5 | .6 | .7 | .åtta | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SÅ | SI |
ett. | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | BURK | EM | SUB | ESC | FS | GS | RS | USA |
2. | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | |
3. | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | : | ; | < | = | > | ? |
fyra. | @ | A | B | C | D | E | F | G | H | jag | J | K | L | M | N | O |
5. | P | F | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
6. | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7. | sid | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
I den första versionen av ASCII-standarden (1963) - i positionerna 0x5e (94) och 0x5f (95) fanns tecknen "pil upp" respektive "pil vänster". ECMA-6-standarden (1965) ersatte dem med strecket respektive understrecket "_" .
I Sovjetunionen godkändes standarden i form av en tabell över den internationella referensversionen av koden KOI-7 H0 GOST 27463-87 (ST SEV 356-86) "Informationsbehandlingssystem. 7-bitars kodade teckenuppsättningar". [2]
ASCII-tabellen skapades för utbyte av information via teletyp . Uppsättningen innehöll icke-utskrivbara tecken som används som kommandon för att styra teletypen. Liknande kommandon användes i andra meddelandeverktyg före dator ( morsekod , semaforalfabet ), med tanke på enhetens detaljer. De flesta av ASCII-kontrolltecken förlorade snart sitt syfte och används inte i moderna datorsystem.
Obs: längre fram i listan - teckenkoder skrivs i hexadecimalt talsystem , efter tecknens namn.
Meddelanden som skickades över kommunikationskanalen var uppdelade i två delar:
"Rubrik" innehöll: avsändar- och mottagaradresser, kontrollsumma , etc .; kan placeras före "texten" eller efter. Termen "text" var den del av meddelandet som var avsett för tryckning.
Symbol | HEX-kod | Dekryptering | Översättning | Beskrivning |
---|---|---|---|---|
SOH | 01 | början av rubriken _ _ _ | början av "header" | Start-of-header-symbolen (SOH) markerar en separation av icke-datadata: den del av strömmen som innehåller adresser och annan overhead. |
STX | 02 | början av t e x t | början av "text" | Slå på skrivaren (TTY). Texten för utskrift var placerad mellan symbolerna " STX" och " ETX". |
ETX | 03 | slutet av t e x t | slutet av "text" | Stäng av skrivaren (TTY). Nuförtiden används koden " 03" för att skicka en " SIGINT " -signal till en process och kan skrivas in genom att trycka på tangentkombinationen + . När en sådan signal tas emot måste processen avslutas . CtrlC |
EOT | 04 | e nd o f t sändning | slutet av sändningen | Symbolen används av terminalemulatorer i betydelsen " End of File " ( EOF: English e nd o f file ) och kan skickas genom att trycka på tangentkombinationen Ctrl+ D. Vid mottagning av en sådan signal kommer terminalemulatorn att bestämma processen som för närvarande arbetar med terminalen och ställa in filslutflaggan på standardinmatningsströmmen för denna process ( stdin : eng. st andar d in put stream ) . Som ett resultat kommer processen att sluta läsa stdin och börja bearbeta den lästa datan. |
ENQ | 05 | fråga _ | "Vänligen bekräfta!" | |
ACK | 06 | ack nu ledge | "Jag bekräftar!" | Symbolen " NAK" betyder motsatsen: "Jag bekräftar inte!". |
BEL | 07 | bel l | pip : klocka | Tecknet representeras ofta som "\a" och används för att ljuda ett pip. I en modern persondator kommer ljudet att återges av den inbyggda högtalaren . Till exempel kan följande kommandon spela upp detta ljud:
|
BS | 08 | ryggens tempo _ _ | returnera ett tecken | Tangenten används för att radera föregående tecken. ← Backspace |
FLIK | 09 | tabell _ | horisontell flik | Betecknas som " \t ". Kallas ibland " HT" (från engelska horizontal t abulation ) . |
LF | 0A | linjematad _ _ _ | linjeöversättning | Kommando för att sänka skrivarvagnen en rad nedåt. End-of-line-beteckningen för en textfil skiljer sig mellan olika operativsystemsfamiljer:
I många programmeringsspråk representeras symbolen som " \n ". Om du trycker på en tangent medan du matar ut text översätts raden. ↵ Enter |
VT | 0B | vertikal flik _ _ | vertikal flik | |
FF | 0C | form matad _ _ | sidkörning, ny sida | Skrivarkommando : Fortsätt att skriva ut från början av nästa ark. |
CR | 0D | c äktenskapsretur _ _ | vagnretur | Kommandot för skrivaren är att fortsätta skriva ut från början av den aktuella raden ( inte från en ny rad). I många programmeringsspråk är symbolen " CR" betecknad som " \r ". På Mac- operativsystemet betecknade tecknet " CR" (tidigare) slutet på en rad i en textfil. Från tangentbordet kan symbolen “ CR” matas in genom att trycka på tangentkombinationen: Ctrl+ M. |
SÅ | 0E | s hift ut _ | "Byt till ett annat band (kodning)" | Det andra bandet färgades vanligtvis rött. I framtiden användes symbolen för att byta till den nationella kodningen. |
SI | 0F | s skift i n | "Byt till originalband (kodning)" | Kommandot för att utföra åtgärden, det omvända till åtgärden " SO". |
DLE | tio | d ata l bläckflykt _ _ | "Skärma datakanalen" | Alla tecken efter " DLE" ska behandlas som data och inte som kontrolltecken. |
DC1 | elva | d enhetskontroll 1 _ _ | Första enhetskontrolltecken | Kommandot för att aktivera hålbandsläsaren . |
DC2 | 12 | enhetskontroll 2 _ _ _ | Andra enhetskontrolltecken | Kommandot för att slå på stansaren . |
DC3 | 13 | enhetskontroll 3 _ _ _ | Tredje enhetskontrollkaraktär | Kommandot för att stänga av hålbandsläsaren. |
DC4 | fjorton | enhetskontroll 4 _ _ _ | Fjärde enhetskontrollsymbol | Kommandot för att stänga av stansen. |
NAK | femton | n negativ a c k erkännande | "Jag godkänner inte!" | Omvänd tecknet " ACK". |
SYN | 16 | synkronisering _ | Detta tecken överfördes när (för synkronisering) det var nödvändigt att överföra något. | |
ETB | 17 | änd av t ext b lås | slutet av textblocket | Ibland var texten (av tekniska skäl) uppdelad i block. |
BURK | arton | kan cel | "Avbryt" | Hävning av det som tidigare överförts. |
EM | 19 | e n d av medium | "Bärarens slut" | Stansad tejp, papper etc. har tagit slut. |
SUB | 1A | ersätta _ | "Ersättning" | Symbolen är placerad:
För närvarande infogas tecknet genom att trycka på tangentkombinationen Ctrl+ Zoch används för att indikera slutet av filen i operativsystemen "DOS" och "Windows" . |
ESC | IB | esc apa | Ett tecken på att tecknet efter " ESC" har någon annan (icke-ASCII) betydelse. Typiskt ESCföljs tecknet " " av escape-sekvenser ; i DOS- operativsystemet implementeras de av ANSI.SYS- drivrutinen . | |
DEL | 7F | del ete | radera det sista tecknet | Symbolen " DEL" (som består av alla enheter i binär kod) kan "hamra" vilket tecken som helst. Enheter och program ignoreras " DEL" på samma sätt som " NUL".
Koden för detta tecken kommer från de första ordbehandlare med hålbandsminne : i dem skedde raderingen av ett tecken genom att "hamra" dess kod med hål (betecknar logiska enheter ). |
Dataseparation i fyra nivåer stöddes:
Symbol | Koden | Dekryptering | Översättning | Beskrivning |
---|---|---|---|---|
FS | 1C | filavgränsare _ _ _ | filavgränsare | meddelandet kan bestå av filer |
GS | 1D | g - grupps separator | gruppseparator | filer kan grupperas |
RS | 1E | r ecord s separator | postavskiljare | grupper kan bestå av poster |
USA | 1F | u nit s separator | enhetsseparator | register kan bestå av enheter |
På de allra flesta moderna datorer är den minsta adresserbara minnesenheten en byte (8 bitar i storlek ); så den använder 8-bitars snarare än 7-bitars tecken. Vanligtvis utökas ett ASCII-tecken till 8 bitar genom att helt enkelt lägga till en bit noll som den mest signifikanta biten.
På IBM / 360 -datorer, men (vid användning av ASCII), användes en annan metod: den 6:e biten (om den minst signifikanta biten betraktas först) flyttas till den 7:e, och den tidigare 7:an "delas" och kopieras till den 8:e biten och i den 6:e. Detta resulterar i en tabell [4] :
.0 | .ett | .2 | .3 | .fyra | .5 | .6 | .7 | .åtta | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NUL | SOM | EOA | EOM | EQT | WRU | SV | KLOCKA | BKSP | HT | LF | VT | FF | CR | SÅ | SI |
ett. | DC 0 | DC 1 | DC 2 | DC 3 | DC 4 | FELA | SYNKRONISERA | LEM | S0 _ | S1 _ | S2 _ | S3 _ | S4 _ | S5 _ | S6 _ | S7 _ |
2. | ||||||||||||||||
3. | ||||||||||||||||
fyra. | TOM | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
5. | 0 | ett | 2 | 3 | fyra | 5 | 6 | 7 | åtta | 9 | : | ; | < | = | > | ? |
6. | ||||||||||||||||
7. | ||||||||||||||||
åtta. | ||||||||||||||||
9. | ||||||||||||||||
A. | @ | A | B | C | D | E | F | G | H | jag | J | K | L | M | N | O |
b. | P | F | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ↑ | ← |
C. | ||||||||||||||||
D. | ||||||||||||||||
E. | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | |
F. | sid | q | r | s | t | u | v | w | x | y | z | ESC | DEL |
På datorer med en minsta adresserbar minnesenhet på 36 bitar användes först 6-bitars tecken (1 ord = 6 tecken). Efter övergången till ASCII började sådana datorer placera antingen 5 sjubitarstecken i ett ord (1 bit förblev överflödig), eller 4 niobitarstecken.
ASCII-koder används i programmering som mellanliggande plattformsoberoende koder för tangenttryckningar (i motsats till IBM PC -skanningskoder och andra interna koder). För QWERTY - tangentbordslayouten ser kodtabellen ut som den som visas i följande tabell [5] .
![]() | |
---|---|
I bibliografiska kataloger |
Teckenkodningar | |
---|---|
Historiska kodningar | ytterligare komp. semafor (Makarov) morse Bodo MTK-2 komp. 6-bitars SCP RADIX-50 EBCDIC KOI-7 ISO 646 |
modern 8-bitars representation | symboler ASCII icke-ASCII 8-bitars kodsidor Kyrillisk KOI-8 Grundläggande kodning MacCyrillic ISO 8859 1 (lat.) 2 3 fyra 5 (kir.) 6 7 åtta 9 tio elva 12 13 fjorton 15 (€) 16 Windows 1250 1251 (Kir.) 1252 1253 1254 1255 1256 1257 1258 WGL4 IBM & DOS 437 850 852 855 866 "alternativ" MIC |
Multibyte | traditionell DBCS GB2312 HTML unicode UTF-32 UTF-16 UTF-8 teckenlista Kyrillisk |
användargränssnitt tangentbordslayout plats linjeöversättning font translitterering anpassade typsnitt verktyg iconv spela in |