ASCII

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 19 mars 2022; kontroller kräver 19 redigeringar .

ASCII ( engelsk  amerikansk standardkod för informationsutbyte , [ ˈ æ s . k i ] [ 1 ] ) är namnet 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:

Historik

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 ).

Symbolöverlägg

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.

Nationella varianter av ASCII

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 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]

Kontrolltecken

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:
  • echo -e "\a"eller echo -e "\007"- om detta kommando matas in via programmet " bash" ;
  • echo ^G- om detta kommando kommer att matas in via programmet " cmd.exe" (för att ange symbolen " ^G", tryck på Ctrl+ G);
  • printf( "\a" );- om detta kommando kommer att köras som källkoden för programmet på "C" -språket .
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:
  • för "UNIX" - ett enda tecken " LF";
  • för "Windows" - sekvensen av tecken " CR LF".

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.
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:
  • I stället för en symbol vars betydelse förlorades (eller förvanskades) under överföringen;
  • Före en karaktär vars tolkning kräver att man byter till en extra teckenuppsättning;
  • Innan tecknet ska skrivas ut i en annan färg...

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

Tabellens strukturella egenskaper

Datorrepresentation av ASCII

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 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] .

Se även

Anteckningar

  1. ASCII  . _ Cambridge English Dictionary . dictionary.cambridge.org. Hämtad 9 april 2018. Arkiverad från originalet 27 september 2017.
  2. GOST 27463-87 (ST SEV 356-86) Informationsbehandlingssystem. 7-bitars kodade teckenuppsättningar (med ändring N 1), GOST daterad 29 oktober 1987 nr 27463-87 . docs.cntd.ru. Hämtad 9 april 2018. Arkiverad från originalet 23 april 2018.
  3. ↑ Kodade teckenuppsättningar , historia och utveckling  . - 1. - Addison-Wesley Publishing Company, Inc. . — ISBN 978-0-201-14460-4 .
  4. Amdahl GM, Blaauw GA, Brooks FP, Jr. "Arkitektur för IBM-systemet/360". 1964
  5. Tangenter Enum . Microsoft.com . Hämtad 11 juni 2022. Arkiverad från originalet 11 juni 2022.

Länkar