ASCII a Unicode sú štandardy, ktoré sa týkajú digitálneho zobrazenia textu, konkrétne znakov, ktoré tvoria text. Tieto dva štandardy sa však výrazne líšia a veľa vlastností odráža ich príslušné poradie tvorby.

Amerika verzus vesmír

Americký štandardný kód pre výmenu informácií (ASCII), nie je prekvapením, zameraný na americké publikum, písaný anglickou abecedou. Zaoberá sa písmenami bez diakritiky, ako sú A-Z a a-z, plus malým počtom interpunkčných symbolov a riadiacich znakov.

Konkrétne neexistuje spôsob, ako reprezentovať prevzaté slová prevzaté z iných jazykov, ako napr kaviareň v ASCII, bez ich anglicizácie nahradením znakov s prízvukom (napr. kaviareň). Lokalizované rozšírenia ASCII boli vyvinuté tak, aby vyhovovali potrebám rôznych jazykov, ale tieto snahy spôsobili, že interoperabilita bola nepríjemná a zjavne rozširovali možnosti ASCII.

Naproti tomu univerzálna kódovaná znaková sada (Unicode) leží na opačnom konci stupnice ambícií. Unicode sa snaží vyhovieť čo najväčšiemu počtu svetových systémov písania, pokiaľ je to možné, až do tej miery, že pokrýva starodávne jazyky a obľúbenú sadu expresívnych symbolov, emodži.

instagram viewer

Sada znakov alebo kódovanie znakov?

Zjednodušene povedané, znaková sada predstavuje výber znakov (napr. A-Z), zatiaľ čo znakov kódovanie je mapovanie medzi znakovou sadou a hodnotou, ktorú je možné reprezentovať digitálne (napr. A = 1, B = 2).

Štandard ASCII je v skutočnosti oboje: definuje množinu znakov, ktoré predstavuje, a spôsob mapovania každého znaku na číselnú hodnotu.

Naproti tomu slovo Unicode sa používa v niekoľkých rôznych kontextoch na označenie rôznych vecí. Môžete to považovať za všeobjímajúci pojem, napríklad ASCII, ktorý sa vzťahuje na znakovú sadu a množstvo kódovaní. Pretože však existuje niekoľko kódovaní, termín Unicode sa často používa na označenie celej sady znakov, a nie na to, ako sú mapované.

Veľkosť

Vďaka svojmu rozsahu predstavuje Unicode oveľa viac znakov ako ASCII. Štandardné ASCII používa 7-bitový rozsah na zakódovanie 128 samostatných znakov. Unicode je na druhej strane taký veľký, že len aby sme o ňom hovorili, musíme používať inú terminológiu!

Unicode umožňuje adresovanie 1 111 998 kódové body. Kódový bod je zhruba obdobný priestoru vyhradenému pre postavu, ale situácia je oveľa komplikovanejšia, ako keď sa začnete venovať podrobnostiam!

Užitočnejšie porovnanie je, koľko skriptov (alebo systémov na zápis) je momentálne podporovaných. ASCII samozrejme zvláda iba anglickú abecedu, v podstate latinské alebo rímske písmo. Verzia Unicode vyrobená v roku 2020 ide oveľa ďalej: obsahuje podporu pre celkovo 154 skriptov.

Skladovanie

7-bitový rozsah ASCII znamená, že každý znak je uložený v jednom 8-bitovom bajte; náhradný bit sa nepoužíva v štandardnom ASCII. Vďaka tomu sú výpočty veľkosti triviálne: dĺžka textu v znakoch je veľkosť súboru v bajtoch.

Môžete to potvrdiť nasledujúcou postupnosťou príkazov bash. Najskôr vytvoríme súbor obsahujúci 12 písmen textu:

$ echo -n 'Ahoj, svet'> foo

Na kontrolu, či je text v kódovaní ASCII, môžeme použiť znak spis príkaz:

$ file foo
foo: text ASCII bez koncoviek riadkov

Nakoniec na získanie presného počtu bajtov, ktoré súbor zaberá, použijeme znak stat príkaz:

$ stat -f% z foo
12

Pretože štandard Unicode pracuje s oveľa väčším rozsahom znakov, súbor Unicode prirodzene zaberá viac úložného priestoru. Koľko presne závisí od kódovania.

Opakovaním rovnakej sady príkazov z predošlého obdobia pomocou znaku, ktorý nemožno reprezentovať v ASCII, získate toto:

$ echo -n '€'> foo
$ file foo
foo: text Unicode UTF-8 bez koncoviek riadkov
$ stat -f% z foo
3

Tento jeden znak zaberá 3 bajty v súbore Unicode. Upozorňujeme, že program bash automaticky vytvoril súbor UTF-8, pretože súbor ASCII nemôže uložiť zvolený znak (€). UTF-8 je jednoznačne najbežnejšie kódovanie znakov pre Unicode; UTF-16 a UTF-32 sú dve alternatívne kódovania, ale používajú sa oveľa menej.

UTF-8 je kódovanie s variabilnou šírkou, čo znamená, že pre rôzne body kódu využíva rozdielne množstvo pamäte. Každý bod kódu bude zaberať jeden až štyri bajty s tým úmyslom, aby bežnejšie znaky vyžadovali menej miesta, čo poskytuje typ zabudovanej kompresie. Nevýhodou je, že stanovenie požiadaviek na dĺžku alebo veľkosť daného bloku textu sa stáva oveľa komplikovanejším.

ASCII je Unicode, ale Unicode nie je ASCII

Pre spätnú kompatibilitu predstavuje prvých 128 kódovacích bodov Unicode ekvivalentné znaky ASCII. Pretože UTF-8 kóduje každý z týchto znakov jedným bajtom, akýkoľvek text ASCII je tiež textom UTF-8. Unicode je nadmnožinou ASCII.

Ako je však uvedené vyššie, veľa súborov Unicode nie je možné použiť v kontexte ASCII. Akýkoľvek znak, ktorý je mimo rozsahu, sa zobrazí neočakávaným spôsobom, často so substituovanými znakmi, ktoré sú úplne odlišné od tých, ktoré boli určené.

Moderné použitie

Pre väčšinu účelov sa ASCII do veľkej miery považuje za starší štandard. Dokonca aj v situáciách, ktoré podporujú iba latinské písmo - kde je úplná podpora zložitosti Unicode napríklad zbytočné - zvyčajne je pohodlnejšie použiť UTF-8 a využiť výhody jeho ASCII kompatibilita.

Najmä webové stránky by sa mali ukladať a prenášať pomocou UTF-8, čo je predvolené nastavenie pre HTML5. To je v kontraste s predchádzajúcim webom, ktorý sa štandardne zaoberal ASCII predtým, ako ho nahradila latinka 1.

Štandard, ktorý sa mení

Posledná revízia ASCII sa uskutočnila v roku 1986.

Naproti tomu Unicode sa naďalej každoročne aktualizuje. Pravidelne sa pridávajú nové skripty, znaky a najmä nové emodži. Iba s malým zlomkom týchto pridelených je pravdepodobné, že v dohľadnej budúcnosti bude celá znaková sada rásť a pribúdať.

Súvisiace: Vysvetlenie 100 najpopulárnejších emodži

Vysvetlenie 100 najpopulárnejších emodži

Existuje toľko emodži, že môže byť ťažké vedieť, čo to všetko znamená. Tu sú vysvetlené najobľúbenejšie emodži.

ASCII verzus Unicode

ASCII slúžil svojmu účelu mnoho desaťročí, ale Unicode ho teraz účinne nahradil na všetky praktické účely okrem starších systémov. Unicode je väčší a teda expresívnejší. Predstavuje celosvetové úsilie v oblasti spolupráce a ponúka oveľa väčšiu flexibilitu, aj keď na úkor určitej zložitosti.

Email
Čo je text ASCII a ako sa používa?

Text ASCII pôsobí tajomne, ale na internete má mnoho využití.

Súvisiace témy
  • Vysvetlená technológia
  • Emodži
  • Žargón
  • Webová kultúra
  • Unicode
O autorovi
Bobby Jack (23 publikovaných článkov)

Bobby je technologický nadšenec, ktorý takmer dve desaťročia pracoval ako vývojár softvéru. Je vášnivým hrám, pracuje ako redaktor recenzií v magazíne Switch Player Magazine a je ponorený do všetkých aspektov online publikovania a vývoja webu.

Viac od Bobbyho Jacka

Prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!

Ešte jeden krok…!

V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.

.