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

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

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

Vezérlőkarakterek

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

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. 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ód
jelent meg a különböző nyelvek támogatására.

Jegyzetek

Kapcsolódó szócikkek 

 EBCDIC
 ISO 8859
 Kettes számrendszer
 Karakter
 Karakterkódolás
 Unicode
 UTF-8

További információk 
 Az ASCII kódtábla
 Standard ECMA-94
 ASCII format for Network Interchange
 ASCII Code - The extended ASCII table
 Sinclair Spectrum+ 48K Character Set
 IBM Code Page 437 reference chart

Írás
Karakterkódolások