ANSI vs. Unicode
ANSI ja Unicode ovat kaksi merkkikoodausta, jotka olivat jossain vaiheessa laajassa käytössä. Käyttö on myös tärkein ero näiden kahden välillä, koska ANSI on hyvin vanha ja sitä käytetään Windows 95/98: n tai sitä vanhemmissa käyttöjärjestelmissä, kun taas Unicode on uudempi koodaus, jota kaikki nykyiset käyttöjärjestelmät käyttävät. ANSI: llä oli monia rajoituksia, jotka eivät olleet helposti ilmeisiä sen käytön varhaisessa vaiheessa, mutta tuli tuskallisesti selväksi, kun laskenta alkoi levitä maailmanlaajuisesti.
ANSI: n päähaittapuoli on monien koodisivujen käyttö käytetystä kielestä riippuen; siellä on yksi englanniksi (tunnetaan nimellä Länsi-Euroopan latina), kreikkaksi, turkiksi, hepreaksi, arabiaksi ja monille muille. Ei ole ongelmaa, kun kaikki tietoihin pääsevät tietokoneet käyttävät samaa koodisivua, mutta kun eri koodisivut ovat käytössä, luettu data ei olisi sama kuin kirjoitettu data. Tämä voi johtaa tietojen vioittumiseen ja jopa ohjelmien kaatumiseen tietyissä tilanteissa.
Syy siihen, miksi ANSI ei voi mahtua, on, että se käyttää vain 8 bittiä edustamaan kutakin koodipistettä. Tämä leveys on kiinteä ja siinä on vain yhteensä 256 erilaista yhdistelmää. Vertailun vuoksi Unicode käyttää korkeintaan 32 bittiä kutakin koodipistettä kohden; käytetään kiinteänä leveytenä UTF-32: ssa. Mutta koska neljän tavun käyttäminen jokaiselle merkille on niin suuri tilanhukkaa, UTF-8: ssa ja UTF-16: ssa käytetään muuttuvan leveyden koodausta tilan säästämiseksi.
Koska Unicode on uudempi standardi, odotetaan, että vanhemmat käyttöjärjestelmät eivät ehkä tue sitä. Vaikka UTF-8: n ja ANSI: n koodipisteet ovat melko identtiset, vanhemmat käyttöjärjestelmät, kuten Windows 95, eivät voi toimia sen kanssa. Siksi Unicodea käyttävät ohjelmat eivät pysty toimimaan oikein näissä käyttöjärjestelmissä. Mitä päinvastoin on, tai ANSI-koodattujen ohjelmien ajaminen uudemmissa käyttöjärjestelmissä, on mahdollista, koska on olemassa mekanismeja muuntaa ANSI: n ja Unicoden välillä. Muista vain, että muuntaminen lisää hiukan prosessointikustannuksia. Se ei ehkä ole merkittävää nykypäivän tietokoneiden kannalta, mutta ohjelman kannattavuuden parantaminen kannattaa silti ottaa huomioon.
Yhteenveto:
1. ANSI on hyvin vanha merkistökoodaus ja Unicode on nykyään käytössä oleva standardi
2. ANSI käyttää erilaisia sivuja eri kielille, kun taas Unicode ei
3. ANSI käyttää kiinteän leveyden koodausta, kun taas Unicode voi käyttää sekä kiinteää että muuttuvaa leveyttä
4. Unicode-ohjelmat eivät toimi vanhemmissa järjestelmissä
5. ANSI-ohjelmat ovat hitaampia kuin nykyisten tietokoneiden Unicode-ohjelmat