ASCII

Az ASCII egy mozaikszó: az American Standard Code for Information Interchange kezdőbetűiből (jelentése kb.: szabványos amerikai kód információcserére). A kód jelkészlete az angol abc betűit, számokat, írásjeleket és vezérlő kódokat tartalmazza.[1] Az ASCII jelkészlet 128 különböző szövegkaraktert 0..127 előjel nélküli egész számokra képez le. ASCII-kódolást alkalmaznak a szövegszerkesztő programok (például a Jegyzettömb) is.

Az eredeti ASCII jelkészlet

Rendeltetése

Az informatikai eszközök az emberi kommunikációra használatos betűket digitális formában tudják csak tárolni és megjeleníteni. Például egy számítógép az összes digitálisan megjeleníthető karaktert (a kis- és nagybetűket, írásjeleket, valamint az egyéb speciális jeleket is) számok formájában tudja csak tárolni és egymástól megkülönböztetni.Egy számítógép mindent bináris számokként ábrázol, így a karaktereket szintén bináris értékekként ábrázolják.

Lényeges, hogy a karakterek numerikus értékekké való leképezése egységesen történjen: Ha a 65-ös helyen álló ASCII kódot elküldik egy eszköznek (számítógép perifériának vagy egy másik számítógépnek), akkor a fogadó eszköznek ezt a kapott jelet minden esetben A karakternek kell értelmeznie, máskülönben a kommunikáció nem lehetne egységes, így lehetetlenné válna szövegek tárolása, kinyomtatása vagy átvitele egy másik gépre. A korabeli karakteres (nem grafikus) kijelzők vezérlőegységei egy adott szimbólum megjelenítésére a saját memóriájukat (EPROM-ba égetett karaktergenerátorukat) használták.[2]Az ASCII-kódoláson kívül léteznek más kódolások is, például az EBCDIC, sőt a különböző számítógép-architektúrák eltérő kódolást használnak.[3][4]

Története

A kódrendszert az 1960-as években dolgozták ki és szabványosították az Egyesült Államokban. Alkalmazásának célja a telexgépeken (távgépírón) és sornyomtatókon való felhasználás volt. A szöveget egy villamos írógéphez vagy margarétafejes nyomtatóhoz hasonló írógépbe gépelték, mely vagy közvetlenül továbbította közönséges telefonhálózaton keresztül a fogadó állomásnak a binárisan kódolt üzenetet vagy offline üzemmódban lyukszalagot nyomtattak segítségével és később automatikus üzemmódban küldték el. A nem nyomtatható karakterek a sornyomtató működéséhez igazodtak: ilyen a tabulátor és a kocsi-vissza, valamint a soremelés karakter is. A bájt nyolc bitjéből egy kihasználatlan maradt: ez volt a paritás bit, amelyből következtetni lehetett az átvitel zavarmentességére.Első továbbfejlesztési iránya az volt, hogy belekerüljenek a leggyakoribb nyugat-európai nyelvek ékezetes karakterei; ennek eredménye az ISO 8859-1 kódolás, más néven a Latin-1.A Unicode az ASCII jelkészlet kiterjesztése, amely hét bit helyett 16 bitet használ a karakterek ábrázolására. Ez 65 536 különböző jel használatát engedi meg a jelkészletben, ezáltal lehetővé teszi, hogy a világ különböző nyelveinek legtöbb szimbólumát egyetlen egységes jelkészletbe foglaljuk.

Felépítése

A 7 bites ASCII jelkészlet négy, egyenként 32 karakterből álló csoportra oszlik, amelyek a következők:

  • Vezérlőkódok: az első 32 karakter (0 és 31 közé eső) különböző nyomtató és képernyő vezérlési műveleteket végeznek és nem jelenítenek meg szimbólumot. A 0 és 31 közé eső ASCII kódok speciális, nem-nyomtatódó vezérlő kódok. Például a 8. helyen lévő visszalépés BS (backspace) egy karakterrel balra lépteti a kurzort vagy a nyomtatófejet.[5]
  • Írásjelek és számjegyek. A táblázat 3. és 4. sora (írásjelek a szóközzel kezdődően és a számok).
  • Nagybetűk: Mivel csak 26 különböző angol betű van, a fennmaradó hat kód különböző speciális jeleket tartalmaz.
  • Kisbetűk: Az utolsó csoport a kisbetűknek van fenntartva. A fennmaradó hat kódból öt különleges jel és a 127. helyen lévő törlés jele: DEL. A nagy- és a (nekik megfelelő) kisbetűk között éppen 32 hely (karakter) távolság van, így egy adott nagybetű ASCII-helyértékét 32-vel növelve a neki megfelelő kisbetűt adja vissza és viszont. Bináris formában viszont csak az 5. biten térnek el a nagy- és a kisbetűk. A megfelelő bitek átállításával nagyon gyors függvények készíthetőek kisbetű-nagybetű konverzióra.[6]

Vezérlőkarakterek

BinárisDecimálisHexaRövidítésEredeti névNév/jelentés
0000 0000000NULNull characterLezáró nulla, például a memóriában tárolt karakterláncok végén használatos
0000 0001101SOHStart of HeaderFej(léc) kezdete
0000 0010202STXStart of TextSzöveg kezdete
0000 0011303ETXEnd of TextSzöveg vége
0000 0100404EOTEnd of TransmissionAdatátvitel vége
0000 0101505ENQEnquiryVizsgálat
0000 0110606ACKAcknowledgmentVisszaigazolás
0000 0111707BELBellCsengetés
0000 1000808BSBackspaceVisszalépés (kurzor balra mozog). Esetleg törlés is
0000 1001909HTHorizontal TabVízszintes tabulátor
0000 1010100ALFLine feedÚj sor
0000 1011110BVTVertical TabFüggőleges tabulátor
0000 1100120CFFForm feedLapdobás (új oldal)
0000 1101130DCRCarriage returnKocsi vissza, a kurzor a sor elejére megy (de marad a sorban!)
0000 1110140ESOShift OutKarakterkészlet váltása
0000 1111150FSIShift InKarakterkészlet visszaállítása
0001 00001610DLEData Link EscapeNyers adat következik
0001 00011711DC1Device Control 1Eszközvezérlés 1 – gyakran XON (adás engedélyezése)
0001 00101812DC2Device Control 2Eszközvezérlés 2
0001 00111913DC3Device Control 3 (often XOFF)Eszközvezérlés 3 – gyakran XOFF (adás szüneteltetése)
0001 01002014DC4Device Control 4Eszközvezérlés 4
0001 01012115NAKNegative AcknowledgementNegatív visszaigazolás
0001 01102216SYNSynchronous IdleSzinkron üresjárat
0001 01112317ETBEnd of Trans. BlockAdatátviteli blokk vége
0001 10002418CANCancelMégsem, visszavonás
0001 10012519EMEnd of MediumAdathordozó vége
0001 1010261ASUBSubstituteHelyettesítő karakter
0001 1011271BESCEscapeFeloldójel
0001 1100281CFSFile SeparatorÁllományelválasztó
0001 1101291DGSGroup SeparatorCsoportelválasztó
0001 1110301ERSRecord SeparatorRekordelválasztó
0001 1111311FUSUnit SeparatorEgységelválasztó
0111 11111277FDELDeleteTörlés

A többi karakterhely

Az írásjeleket és a latin ábécé betűit tartalmazza. Szokás még nyomtatható karakterek néven is emlegetni, mivel a 127-es helyen lévő karakter kivételével valamennyi nyomtatható illetve képernyőn megjeleníthető.

BinárisDecimálisHexaJel
0010 00003220szóköz (␠)
0010 00013321!
0010 00103422"
0010 00113523#
0010 01003624$
0010 01013725%
0010 01103826&
0010 01113927'
0010 10004028(
0010 10014129)
0010 1010422A*
0010 1011432B+
0010 1100442C,
0010 1101452D-
0010 1110462E.
0010 1111472F/
0011 000048300
0011 000149311
0011 001050322
0011 001151333
0011 010052344
0011 010153355
0011 011054366
0011 011155377
0011 100056388
0011 100157399
0011 1010583A:
0011 1011593B;
0011 1100603C<
0011 1101613D=
0011 1110623E>
0011 1111633F?
 
BinárisDecimálisHexaJel
0100 00006440@
0100 00016541A
0100 00106642B
0100 00116743C
0100 01006844D
0100 01016945E
0100 01107046F
0100 01117147G
0100 10007248H
0100 10017349I
0100 1010744AJ
0100 1011754BK
0100 1100764CL
0100 1101774DM
0100 1110784EN
0100 1111794FO
0101 00008050P
0101 00018151Q
0101 00108252R
0101 00118353S
0101 01008454T
0101 01018555U
0101 01108656V
0101 01118757W
0101 10008858X
0101 10018959Y
0101 1010905AZ
0101 1011915B[
0101 1100925C\
0101 1101935D]
0101 1110945E^
0101 1111955F_
 
BinárisDecimálisHexaJel
0110 00009660`
0110 00019761a
0110 00109862b
0110 00119963c
0110 010010064d
0110 010110165e
0110 011010266f
0110 011110367g
0110 100010468h
0110 100110569i
0110 10101066Aj
0110 10111076Bk
0110 11001086Cl
0110 11011096Dm
0110 11101106En
0110 11111116Fo
0111 000011270p
0111 000111371q
0111 001011472r
0111 001111573s
0111 010011674t
0111 010111775u
0111 011011876v
0111 011111977w
0111 100012078x
0111 100112179y
0111 10101227Az
0111 10111237B{
0111 11001247C|
0111 11011257D}
0111 11101267E~
Kibővített ASCII-jelkészlet (437-es kódlap, IBM PC)

Kibővített jelkészlet

Nyolc bit segítségével 256-féle különböző állapot (és ennek megfelelő karakter) tárolható és különböztethető meg, így kézenfekvő volt az ASCII-jelkészlet bővítése.[7] Az IBM PC elterjedésével először a 437-es kódlap (USA) szerinti bővítést használták, amely ékezetes betűket, matematikai jeleket és táblázatrajzoló szimbólumokat tartalmazott. Mivel az ASCII-jelkészletben csak az alsó 127 helyen lévő karakterek kódolása kötött, számos más kibővített ASCII-kódjelent meg a különböző nyelvek támogatására.

Jegyzetek

Kapcsolódó szócikkek

A Wikimédia Commons tartalmaz ASCII témájú médiaállományokat.

További információk