Rozdiel medzi ANSI a Unicode

ANSI vs Unicode

ANSI a Unicode sú dvojmiestne kódovania, ktoré boli v jednom alebo druhom bode rozšírené. Použitie je tiež hlavným rozdielom medzi nimi, pretože ANSI je veľmi starý a používajú ho operačné systémy ako Windows 95/98 a staršie, zatiaľ čo Unicode je novšie kódovanie, ktoré dnes používajú všetky súčasné operačné systémy. ANSI mala veľa obmedzení, ktoré neboli ľahko zrejmé v počiatočných fázach jej používania, ale boli bolestne jasné, keď sa počítač začal šíriť po celom svete.

Hlavnou nevýhodou ANSI je použitie mnohých kódových stránok v závislosti od používaného jazyka; jeden pre angličtinu (známy ako západoeurópska latinka), gréčtinu, turečtinu, hebrejčinu, arabčinu a mnoho ďalších. Nie je problém, keď všetky počítače, ktoré pristupujú k údajom, používajú rovnakú kódovú stránku, ale keď sa používajú rôzne kódové stránky, prečítané údaje by neboli rovnaké ako napísané údaje. To by mohlo mať za následok poškodenie údajov av niektorých prípadoch dokonca zlyhanie programu.

Dôvod, prečo sa ANSI nedokáže prispôsobiť je, že používa iba 8 bitov na reprezentáciu každého kódového bodu. Táto šírka je pevná a má celkom 256 rôznych kombinácií. Na porovnanie Unicode používa maximálne 32 bitov na každý kódový bod; používa sa v pevnej šírke v UTF-32. Ale pretože použitie štyroch bajtov pre každý znak je také obrovské plytvanie priestorom, v UTF-8 a UTF-16 sa používa kódovanie s premenlivou šírkou, aby sa ušetril priestor..

Pretože Unicode je novší štandard, očakáva sa, že staršie operačné systémy ho nemusia podporovať. Aj keď sú kódové body UTF-8 a ANSI do značnej miery totožné, staršie operačné systémy ako Windows 95 s tým nedokážu pracovať. Programy používajúce Unicode by preto na týchto operačných systémoch nemohli správne fungovať. Pokiaľ ide o opak, alebo spustenie programov kódovaných ANSI na novších operačných systémoch, je možné, že existujú mechanizmy na konverziu medzi ANSI a Unicode. Nezabudnite, že konverzia pridáva trochu režijných nákladov na spracovanie. Nemusí to byť významné vzhľadom na súčasné počítače, ale stále stojí za zmienku o zlepšení účinnosti programu.

Zhrnutie:

1. ANSI je veľmi staré kódovanie znakov a Unicode je súčasný štandard, ktorý sa dnes používa
2. ANSI používa rôzne stránky pre rôzne jazyky, zatiaľ čo Unicode nie
3. ANSI používa kódovanie s pevnou šírkou, zatiaľ čo Unicode môže používať pevnú aj variabilnú šírku
4. Programy Unicode nebudú fungovať na starších systémoch
5. Programy ANSI sú v súčasných počítačoch pomalšie ako programy Unicode