ASCII, UTF-8, ISO-8859 ... Možda ste vidjeli ove čudne monikere koji lebde oko sebe, ali što oni zapravo znače? Pročitajte kako objašnjavamo što je kodiranje znakova i kako se ti akronimi odnose na običan tekst koji vidimo na zaslonu.
Kada govorimo o pisanom jeziku, govorimo o pismima kao građevnim blokovima riječi, koji zatim grade rečenice, odlomke i tako dalje. Slova su simboli koji predstavljaju zvukove. Kada govorite o jeziku, govorite o skupinama zvukova koji dolaze zajedno kako bi oblikovali nekakvo značenje. Svaki jezični sustav ima složeni skup pravila i definicija koji upravljaju tim značenjima. Ako imate riječ, to je beskorisno osim ako ne znate koji je jezik, a vi ga koristite s drugima koji govore taj jezik.
(Usporedba Grante, Tulu i Malayalam skripte, Slika sa Wikipedije)
U svijetu računala upotrebljavamo izraz "lik". Karakter je svojevrsni apstraktni koncept, definiran specifičnim parametrima, ali je temeljna jedinica značenja. Latinski 'A' nije isti kao grčki 'alfa' ili 'arapski' alif jer imaju različite kontekste - one su iz različitih jezika i imaju malo drugačije izjave - tako da možemo reći da su različiti znakovi. Vizualni prikaz znaka naziva se "glif", a različiti skupovi glifova nazivaju se fontovi. Grupe znakova pripadaju "skupu" ili "repertoaru".
Kada unesete stavku i promijenite font, ne mijenjate fonetske vrijednosti slova, mijenjaju se kako izgledaju. To je samo kozmetička (ali ne i nevažna!). Neki jezici, poput starih egipatskih i kineskih, imaju ideograme; oni predstavljaju cijele ideje umjesto zvukova, a njihova izgovora mogu varirati tijekom vremena i udaljenosti. Ako zamijenite jedan znak za drugu, zamjenjujete ideju. To je više nego mijenjanje slova, mijenja ideogram.
(Slika sa Wikipedia)
Kada upišete nešto na tipkovnici ili učitate datoteku, kako računalo zna što da prikazuje? To je ono što je kodiranje znakova. Tekst na vašem računalu zapravo nije slova, to je niz uparenih alfanumeričkih vrijednosti. Kôdiranje znakova služi kao ključ za koje vrijednosti odgovaraju znakovima, slično onome kako ortografija diktira koji zvuk odgovara onoj koja slova. Morseov kod je vrsta kodiranja znakova. Objašnjava kako skupine dugih i kratkih jedinica kao što su zvučni signali predstavljaju likove. U Morseovom kodu likovi su samo engleski slova, brojevi i potpuni prekidi. Postoji mnogo kodiranja kodova računala koja se prevode u slova, brojeve, znakove akcenta, interpunkcijske znakove, međunarodne simbole i tako dalje.
Često se na ovoj temi koristi i pojam "kodne stranice". Oni su u osnovi kodiranja znakova kako ih koriste određene tvrtke, često s malim izmjenama. Primjerice, kodna stranica sustava Windows 1252 (prije poznata kao ANSI 1252) izmijenjena je vrsta ISO-8859-1. Uglavnom se koriste kao interni sustav koji se odnosi na standardne i modificirane kodiranje znakova koji su specifični za iste sustave. Rano, kodiranje znakova nije bilo tako važno jer računala nisu međusobno komunicirala. S internetom koji se diže, a uobičajena pojava u umrežavanju postaje sve važnija u našem svakodnevnom životu, a da nas čak i ne shvaćamo.
(Slika od sarah sosiak)
Postoji mnogo različitih kodova karaktera vani, i postoji mnogo razloga za to. Koji kodiranje znakova odlučite koristiti ovisi o vašim potrebama. Ako komunicirate na ruskom, smisla je koristiti kodiranje znakova koji podržava ćirilicu. Ako komunicirate na korejskom jeziku, onda ćete poželjeti nešto što predstavlja Hangul i Hanja. Ako ste matematičar, onda želite nešto što ima sve znanstvene i matematičke simbole koji su dobro zastupljeni, kao i grčki i latinski glifovi. Ako ste šaljivac, možda biste imali koristi od obrnutog teksta. Ako želite vidjeti sve te vrste dokumenata od strane određene osobe, želite kodiranje koje je prilično uobičajeno i lako dostupno.
Pogledajmo neke od najčešćih.
(Izvadak iz ASCII tablice, Slika od asciitable.com)
(Izvod iz tibetanske skripte, Unicode v4, iz unicode.org)
Pa, ASCII radi za većinu engleskih govornika, ali ne i za puno više. Češće ćete vidjeti ISO-8859-1, koji radi za većinu zapadnoeuropskih jezika. Druge verzije ISO-8859 rade za ćirilično, arapsko, grčko ili druge specifične skripte. Međutim, ako želite prikazati više skripti u istom dokumentu ili na istoj web stranici, UTF-8 omogućuje puno bolju kompatibilnost. Isto tako, dobro funkcionira i za osobe koje upotrebljavaju pravilnu interpunkciju, matematičke znakove ili znakove s manšetom, kao što su kvadratići i kvadratići.
(Više jezika u jednom dokumentu, snimka zaslona gujaratsamachar.com)
Ipak, svaki set ima nedostataka. ASCII je ograničen u svojim interpunkcijskim oznakama pa ne radi nevjerojatno dobro za tipografski ispravne uređivanja. Jeste li ikada kopirali / zalijepili iz Riječi samo da biste imali neku čudnu kombinaciju glifova? To je nedostatak ISO-8859, ili točnije, njezinu navodnu interoperabilnost s OS-specifičnim kodnim stranicama (mi gledamo Vama, Microsoft!). Glavni nedostatak UTF-8 je nedostatak odgovarajuće podrške u uređivanju i objavljivanju aplikacija. Drugi je problem što preglednici često ne interpretiraju i samo prikazuju oznaku narudžbe bajta UTF-8 kodiranog znaka. To rezultira prikazivanjem neželjenih glifova. I naravno, proglašavanje jednog kodiranja i upotrebe znakova iz drugog, a da ih pravilno ne deklarira na web stranici, teško je da ih preglednici pravilno prikazuju i da ih tražilice odgovarajuće indeksiraju.
Za vlastite dokumente, rukopise i tako dalje, možete koristiti sve što vam je potrebno za obavljanje posla. Što se tiče interneta, čini se da se većina ljudi slaže oko upotrebe verzije UTF-8 koja ne koristi oznaku reda bajtova, ali to nije sasvim jednoglasno. Kao što možete vidjeti, svaki kodiranje znakova ima vlastitu upotrebu, kontekst i snage i slabosti. Kao krajnji korisnik, vjerojatno se nećete morati nositi s ovim, ali sada možete poduzeti dodatni korak prema naprijed ako tako odaberete.