31Aug

Koje su znakovne kodove poput ANSI i Unicode, i kako se razlikuju?

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.

Temeljni građevni blokovi

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.

U svijetu računala rabe se izraz "lik". Karakter je vrsta apstraktnog koncepta, definiranog specifičnim parametrima, ali je temeljnijedinica 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. Skupine znakova pripadaju "skupu" ili "repertoaru".

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

Kodiranje znakova

( Slika sa Wikipedia)

Kada upisujete 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 kodnih kodova koji se prevode u slova, brojeve, znakove akcenta, interpunkcijske znakove, međunarodne simbole i tako dalje.

Često se radi o ovoj temi, također se koristi izraz "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.

Mnogo različitih tipova

( Slika od sarah sosiak)

Postoji mnogo različitih kodova znakova vani, i postoji dosta 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. Pogledajte

Pogledajte neke od najčešćih.

( Izvadak iz ASCII tablice, Slika od asciitable.com)

  • ASCII - Američki standardni kod za razmjenu informacija jedan je od starijih kodiranja znakova. Izvorno je izrađen na temelju telegrafskih kodova i evoluirala je tijekom vremena kako bi uključila više simbola i nekih sada zastarjele neispisane kontrolne znakove. Vjerojatno je tako osnovno kao što se možete smatrati modernim sustavima, jer je ograničeno na latinsku abecedu bez naglašenih znakova. Njegovo 7-bitno kodiranje omogućuje samo 128 znakova, zbog čega u svijetu postoji nekoliko neslužbenih varijanti.
  • ISO-8859 - Međunarodna organizacija za standardizaciju najčešće korištena grupa kodifikacijskih znakova je broj 8859. Svako specifično kodiranje određeno je brojem, često prefiksiranim opisnim znakom, npr. ISO-8859-3( lat. 3), ISO-8859-6( latinski / arapski).To je superset ASCII, što znači da su prve 128 vrijednosti u kodiranju jednake ASCII.Međutim, to je 8-bitno i omogućuje 256 znakova, tako da se ondje gradi i sadrži mnogo širi niz znakova, pri čemu se svako specifično kodiranje usredotočuje na drugačiji skup kriterija. Latinski-1 je sadržavao hrpu naglašenih slova i simbola, ali je kasnije zamijenjen revidiranim setom nazvanim Latin-9 koji uključuje ažurirane glifove poput simbola eura.

( Izvod iz tibetanske skripte, Unicode v4, iz unicode.org)

  • Unicode - Ovaj standard kodiranja usmjeren je na univerzalnost. Trenutačno uključuje 93 skripti organiziranih u nekoliko blokova, s mnogo više u djelima. Unicode radi drugačije od ostalih skupova znakova u tome, umjesto da izravno kodiraju glyph, svaka vrijednost je usmjerena dalje do "kodne točke". To su heksadecimalne vrijednosti koje odgovaraju znakovima, ali glifovi sami se daju odvojeno od strane programa, kao što je vaš web preglednik. Te kodne točke obično su prikazane na sljedeći način: U + 0040( što znači "@").Specifična kodiranja prema Unicode standardu su UTF-8 i UTF-16.UTF-8 pokušava omogućiti maksimalnu kompatibilnost s ASCII.To je 8-bitno, ali dopušta svim znakovima pomoću mehanizma supstitucije i više parova vrijednosti po znaku. UTF-16 jarke savršena ASCII kompatibilnost za potpunije 16-bitne kompatibilnosti sa standardom.
  • ISO-10646 - Ovo nije stvarni kodiranje, samo skup znakova Unicode koji je ISO standardizirao. To je najvažnije jer je repertoar likova koji koristi HTML.Nedostaju neke od naprednijih funkcija Unicode koje omogućuju razvrstavanje i slijeva nadesno lijevo uz slijepe i desne skripte. Ipak, dobro radi za upotrebu na internetu jer omogućuje korištenje širokog raspona skripti i omogućuje pregledniku interpretaciju glifova. To čini lokalizaciju nešto jednostavnijom.

Što kodiranje trebam koristiti?

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 za ljude koji upotrebljavaju pravilnu interpunkciju, matematičke znakove ili znakove s manšetom, kao što su kvadratići i kvadratići.

( Višestruki jezici u jednom dokumentu, Zaslon od gujaratsamachar.com)

Međutim, 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 slično, 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.