ASCII

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