ASCII

ASCII-merkistön kirjoitusmerkit.

ASCII (akronyymi sanoista American Standard Code for Information Interchange) on 7-bittinen eli 128 merkkipaikan laajuinen tietokoneiden merkistö, joka sisältää ensisijaisesti amerikanenglannissa tarvittavat kirjaimet, numerot, väli- ja erikoismerkkejä sekä eräitä ohjauskoodeja. Lähes kaikkien nykyisin yleisessä käytössä olevien tietokonemerkistöjen 128 ensimmäistä merkkiä ovat samat kuin ASCII:ssa, joten ne voidaan luokitella ASCII:n laajennuksiksi. Unicode-merkistön yhteydessä tätä ensimmäistä lohkoa kutsutaan latinalaiseksi perusosaksi.

Joskus kuulee virheellisesti puhuttavan ”8-bittisestä ASCII:sta” tai ”high-ASCII:sta”, jonka merkkipaikkojen määrä olisi kaksinkertaistettu 256:een ottamalla käyttöön ASCII:ssa ylimääräiseksi jäänyt tavun kahdeksas bitti. Tällaisia merkistöjä on ASCII:n pohjalta kuitenkin kehitetty useita, eikä niistä yhteenkään ole asianmukaista viitata nimellä ASCII. Koska 8-bittiseenkään merkistöön eivät mahdu edes kaikkien latinalaisin aakkosin kirjoitettavien kielten kirjaimet, alueittain on pitänyt kehittää keskenään yhteensopimattomia laajennusversioita, joista länsieurooppalaisittain ja suomalaisittain tärkein on ISO 8859-1 eli niin sanottu Latin 1 ‑merkistö. Lisäksi esimerkiksi MS-DOS-järjestelmän käyttämien ASCII-pohjaisten merkistöjen laajennusosat poikkeavat täysin Windowsin merkistöistä, jotka ovat ISO 8859 ‑standardien muunnelmia.

Historia

ASCII kehitettiin 1960-luvulla paperille tulostavien kaukokirjoitinlaitteiden ja tietokonepäätteiden merkistöksi ja ohjauskoodistoksi. Aikaisemmat laitteet käyttivät yleensä 5-bittistä Baudot-koodia.

ASCII:n kehitti ja julkaisi American Standards Association, nykyiseltä nimeltään American National Standards Institute. Kehitystyöhön osallistuneista huomattavimpiin kuuluu Bob Bemer.

Merkkivalikoima perustuu lähinnä Yhdysvaltojen tarpeisiin. Tämä on aiheuttanut jatkuvia ongelmia ei-englanninkielisen tekstin käsittelyssä: esimerkiksi suomen kielen aakkosista kirjaimet A–Z sisältyvät kaikkiin ASCII-merkistön muunnoksiin ja näkyvät siis käytännössä aina oikein, mutta niin sanotut ääkköset (Å, Ä, Ö) aiheuttavat yllättävän usein yhteensopivuusongelmia vielä nykyäänkin.

US-ASCII

ASCII-määritys julkaistiin Yhdysvalloissa ASA X3.4 ‑standardina alun perin vuonna 1963.[1] Hieman myöhemmin, 1967, sitä täydennettiin pienaakkosilla ja symboleilla. Yhdysvaltain ASCII-standardista käytetään myös nimitystä US-ASCII, joka tarkoittaa täsmälleen samaa kuin ASCII. Sen nykyinen versio on määritelty standardissa ANSI X3.4-1986.

ASCII-merkistö määrittää 128 merkkipaikkaa, joihin kuuluvat amerikanenglannin isot ja pienet kirjaimet A–Z, numerot 0–9, välilyönti sekä väli- ja erikoismerkkejä (!"#$%&'<>=?.,:;@{[|]}\^_`). Merkistön alkupäästä ja lopusta on yhteensä 33 merkkipaikkaa varattu ohjauskoodeille, joten erilaisia kirjoitusmerkkejä mahtuu ASCII-merkistöön 95.

Kansainväliseksi standardiksi

ISO-standardi merkistöstä tuli vuonna 1972. Kansainvälinen ISO-646-IRV (international reference version) ‑määritys erosi ASCII-merkistöstä sikäli, että dollarin merkin ($) tilalla oli valuuttamerkki (¤) ja aaltoviivan (~) tilalla oli yläviiva (¯). Vuonna 1991 kansainvälinen versio mukautettiin vallitsevaan käytäntöön korvaamalla valuuttamerkki dollarin merkillä. Se on nykyään aivan samanlainen kuin yhdysvaltalainen versio ISO-646-US eli US-ASCII.

ASCII ei sisällä Ä- ja Ö-kirjainten kaltaisia tarkkeellisia kirjaimia, joita tarvitaan muissa kuin englannin kielessä. Monet kansalliset kirjaimet sai kuitenkin paperipäätteillä ja kirjoittimilla aikaiseksi tulostamalla kaksi merkkiä päällekkäin, esimerkiksi ä ← a + " (a ja pystylainausmerkki) ja ñ ← n + ~ (n ja tilde). Eräät ASCII-merkit, nimittäin tilde ja sirkumfleksi (^), tarkoitettiinkin alun perin nimenomaan tarkkeiksi kansallisten kirjainten muodostusta varten. Alaviiva (_) puolestaan tarkoitettiin alleviivausten tuottamiseen. Usean merkin tulostaminen samaan kohtaan ei kuitenkaan ollut mahdollista näytöllä. Näyttöjen yleistyessä piti kansalliset kirjaimet viimeistään saada osaksi varsinaista merkistöä.

Kansalliset muunnelmat

Euroopan maissa kansalliset merkit saatiin käyttöön korvaamalla niillä osa erikoismerkeistä. Esimerkiksi ASCII-merkistön suomalainen versio (ISO646-FI) korvasi merkit [\]^ merkeillä ÄÖÅÜ ja {|}~ merkeillä äöåü. @ korvattiin é:llä. Tämä merkistö tunnetaan myös suomalaisella nimellä SF-2. Monilla muillakin Euroopan mailla oli oma kansallinen standardinsa.

Ratkaisu oli kömpelö etenkin, jos merkistöä käytettiin ohjelmointiin. Tällöin oli usein tehtävä valinta ääkkösten ja ohjelmoinnissa välttämättömien hakasulkujen välillä. Tällaiset merkistöt olivat kuitenkin yleisiä vielä 1980-luvulla, kun käytössä oli paljon järjestelmiä, joiden merkistökoodauksen leveys rajoittui 7 bittiin.

ASCII-merkit

00 nul01 soh02 stx03 etx04 eot05 enq06 ack07 bel
08 bs09 ht0a nl0b vt0c np0d cr0e so0f si
10 dle11 dc112 dc213 dc314 dc415 nak16 syn17 etb
18 can19 em1a sub1b esc1c fs1d gs1e rs1f us
20 sp21  !22 "23 #24 $25  %26 &27 '
28 (29 )2a *2b +2c ,2d -2e .2f /
30 031 132 233 334 435 536 637 7
38 839 93a  :3b  ;3c <3d =3e >3f  ?
40 @41 A42 B43 C44 D45 E46 F47 G
48 H49 I4a J4b K4c L4d M4e N4f O
50 P51 Q52 R53 S54 T55 U56 V57 W
58 X59 Y5a Z5b [5c \5d ]5e ^5f _
60 `61 a62 b63 c64 d65 e66 f67 g
68 h69 i6a j6b k6c l6d m6e n6f o
70 p71 q72 r73 s74 t75 u76 v77 w
78 x79 y7a z7b {7c |7d }7e ~7f del

Katso myös

Lähteet

Aiheesta muualla