ASCII, UTF-8, ISO-8859 ... Olet ehkä nähnyt nämä kummalliset monikers floating around, mutta mitä he todella tarkoittavat? Lue, kun selitämme, mikä merkistökoodi on ja miten nämä lyhenteet liittyvät näytön tekstiin.
Kun puhumme kirjoitetusta kielestä, puhumme kirjeistä, jotka ovat sanojen rakennusosaa, jotka sitten rakentavat lauseita, kappaleita ja niin edelleen. Kirjeet ovat symboleja, jotka edustavat ääntä. Kun puhut kielestä, puhutaan äänien ryhmistä, jotka tulevat yhteen muodostamaan jonkinlaisen merkityksen. Jokaisella kielijärjestelmällä on monimutkaiset säännöt ja määritelmät, jotka ohjaavat näitä merkityksiä. Jos sinulla on sana, se on hyödytön, ellet tiedä, mistä kielestä se on ja käytät sitä muiden kanssa, jotka puhuvat kyseistä kieltä.
(Grantha, Tulu ja Malayalam-skriptien vertailu, Kuva Wikipediasta)
Tietokoneiden maailmassa käytämme termiä "merkki". Hahmo on eräänlainen abstrakti käsite, joka määritellään tietyillä parametreilla, mutta se on merkityksen perustavanlaatuinen yksikkö. Latinalainen "A" ei ole sama kuin kreikankielinen "alfa" tai arabiankielinen "alif", koska sillä on eri kontekstit - he ovat eri kielistä ja niillä on hieman erilaiset lausunnot - joten voimme sanoa, että he ovat eri merkkejä. Hahmon visuaalista esitystä kutsutaan "glyphiksi" ja eri kuvakkeita kutsutaan fontteiksi. Merkkijoukot kuuluvat "sarjaan" tai "ohjelmistoon".
Kun kirjoitat kappaleen ja muutat fonttia, et muuta kirjainten foneettisia arvoja, muutat niiden näkyvyyttä. Se on vain kosmeettinen (mutta ei merkityksetön). Jotkut kielet, kuten muinaisen Egyptin ja Kiinan, on ideogrammit; ne edustavat kokonaisia ideoita äänien sijaan ja niiden lausunnot voivat vaihdella ajan ja etäisyyden mukaan. Jos vaihdat yhden merkin toiselle, korvaat idean. Se on muuta kuin kirjainten vaihtamista, se muuttaa ideogrammaa.
(Kuva Wikipediasta)
Kun kirjoitat jotain näppäimistöön tai lataat tiedoston, miten tietokone tietää mitä näyttää? Se merkitsee merkkikoodausta. Teksti tietokoneellasi ei todellakaan ole kirjaimia, se on sarja parittuja aakkosnumeerisia arvoja. Merkkikoodaus toimii avaimena, jonka arvot vastaavat merkkejä, aivan kuten miten ortografia määrää, mitkä äänet vastaavat mitä kirjaimia. Morse-koodi on eräänlainen merkkikoodaus. Se selittää, kuinka pitkät ja lyhyet yksiköt kuten äänimerkit edustavat merkkejä. Morse-koodissa merkit ovat vain englantilaisia kirjaimia, numeroita ja täydellisiä pysähdyksiä. On olemassa monia tietokoneen merkistökoodeja, jotka kääntävät kirjaimiin, numeroihin, aksenttimerkkeihin, välimerkkiin, kansainvälisiin symboleihin ja niin edelleen.
Usein tästä aiheesta käytetään myös termiä "koodisivut". Ne ovat olennaisesti merkkikoodauksia, joita tietyt yritykset käyttävät, usein pienillä muutoksilla. Esimerkiksi Windows 1252 -koodisivu (aiemmin nimeltään ANSI 1252) on ISO-8859-1: n muutettu muoto. Niitä käytetään lähinnä sisäisenä järjestelmänä viittaamaan vakiomuotoisiin ja modifioituihin merkistökoodeihin, jotka ovat ominaisia samoille järjestelmille. Varhainen merkkikoodaus ei ollut niin tärkeä, koska tietokoneet eivät olleet yhteydessä toisiinsa. Kun verkko nousee esiin ja verkostoituminen on yleinen tapahtuma, se on tullut yhä tärkeämmäksi päivittäisestä elämästämme ilman että me edes ymmärtäisimme sitä.
(Kuva sarah sosiak)
Siellä on paljon erilaisia merkistökoodeja, ja siihen on paljon syitä. Mikä merkkikoodaus, jonka haluat käyttää, riippuu siitä, mitä tarvitset. Jos kommunikoidaan venäjäksi, on järkevää käyttää merkkikoodausta, joka tukee kyrillistä hyvin. Jos kommunikointi koreassa, niin haluat jotain, joka edustaa Hangulia ja Hanjaa hyvin. Jos olet matemaatikko, niin haluat jotain, jolla on kaikki tieteelliset ja matemaattiset symbolit hyvin edustettuina, samoin kuin kreikan ja latinankieliset kuvakkeet. Jos olet kilpikonna, saatat hyötyä ylösalaisin teksteistä. Ja jos haluat, että kaikki tietyntyyppiset asiakirjat katsotaan jonkun tietyn henkilön käyttöön, haluat koodauksen, joka on melko yleinen ja helposti saatavilla.
Katsotaanpa joitain yleisempää.
(Ote ASCII-taulukosta, Image from asciitable.com)
(Excerpt of Tibetan script, Unicode v4, osoitteesta unicode.org)
No, ASCII toimii useimpien englantilaisten puhujien kanssa, mutta ei paljon muuta. Useammin näet ISO-8859-1, joka toimii useimmille länsieurooppalaisille kielille. Muut ISO-8859 -versiot toimivat kyrillisille, arabialaisille, kreikkalaisille tai muille skripteille. Jos kuitenkin haluat näyttää useita skriptejä samassa asiakirjassa tai samassa verkkosivustossa, UTF-8 mahdollistaa paremman yhteensopivuuden. Se toimii myös hyvin ihmisille, jotka käyttävät oikeita välimerkkejä, matemaattisia symboleja tai mansettimerkkejä, kuten neliöitä ja valintaruudut.
(Useita kieliä yhdessä asiakirjassa, kuvakaappaus gujaratsamachar.com)
Kuitenkin kummallekin joukolle on haittoja. ASCII on rajattu välimerkillään, joten se ei toimi uskomattoman hyvin typografisesti oikeilla muokkauksilla. Oletko koskaan kirjoittanut kopioi / liitä Wordista vain, jos sinulla on jonkin verran kopiota? Tämä on ISO-8859: n epäonnistuminen, tai oikeammin sen oletettu yhteentoimivuus OS-spesifisiin koodisivuihin (me katsomme Sinua, Microsoft!). UTF-8: n suurin haittapuoli on puutteellinen tuki sovellusten muokkaamisessa ja julkaisemisessa. Toinen ongelma on se, että selaimet eivät useinkaan tulkitse ja vain näytä UTF-8-koodatun merkin tavutunnistemerkkiä. Tämä johtaa ei-toivottujen glyfien näyttämiseen. Ja tietenkin, että yksi koodaus ja merkkien käyttäminen toisilta julistamatta / viittaamalla ne oikein verkkosivulla vaikeuttaa selainten tekemistä oikein ja hakukoneet voivat indeksoida ne asianmukaisesti.
Oman asiakirjan, käsikirjoituksen ja niin edelleen, voit käyttää mitä tahansa tarvitset työn tekemiseen. Siltä osin kuin verkko menee, näyttää siltä, että useimmat ihmiset suostuvat käyttämään UTF-8-versiota, joka ei käytä tavutilausmerkkiä, mutta se ei ole täysin yksimielinen. Kuten näet, jokaisella merkkikoodauksella on oma käyttö, konteksti ja vahvuudet ja heikkoudet. Loppukäyttäjänä et luultavasti tarvitse käsitellä tätä, mutta nyt voit ottaa ylimääräisen askeleen eteenpäin, jos niin valitset.