ANSI a Unicode

Anonim

ANSI vs Unicode

ANSI a Unicode jsou dvě znaková kódování, která byla v jednom nebo druhém bodě rozšířena. Použití je také hlavní rozdíl mezi těmito dvěma, protože ANSI je velmi starý a používá ho operační systémy jako Windows 95/98 a starší, zatímco Unicode je novější kódování, které dnes používají všechny současné operační systémy. ANSI měla mnoho omezení, která nebyla zjevná během prvních fází jeho používání, ale stala se bolestně jasná, jakmile se výpočet začal šířit celosvětově.

Hlavní nevýhodou ANSI je použití mnoha kódových stránek v závislosti na používaném jazyce; existuje jedna pro angličtinu (známou jako západní evropská latina), řečtina, turečtina, hebrejština, arabština a mnoho dalších. Není problém, když všechny počítače, které přistupují k datům, používají stejnou kódovou stránku, ale když se používají různé stránky kódu, čtení dat by nebylo stejné jako u zapsaných dat. To by mohlo vést k poškození dat a dokonce k pádu programu v určitých scénářích.

Důvod, proč ANSI nemůže vyhovět, používá pouze 8 bitů, aby reprezentoval každý kódový bod. Tato šířka je pevná a má celkem 256 různých kombinací. Ve srovnání, Unicode používá maximálně 32 bitů pro každý kódový bod; používané v pevné šířce v UTF-32. Ale protože používáte čtyři bajty pro každou postavu je tak obrovská ztráta prostoru, kódování proměnné šířky je používáno v UTF-8 a UTF-16 pro úsporu místa.

Vzhledem k tomu, že je standard Unicode novější, očekává se, že starší operační systémy ji nemusí podporovat. I když kódové body UTF-8 a ANSI jsou téměř totožné, starší operační systémy jako Windows 95 nemohou s tím pracovat. Programy, které používají kódování Unicode, by proto nemohly v těchto operačních systémech fungovat správně. Pokud jde o opačné nebo běží programy kódované ANSI na novějších operačních systémech, je to možné, protože existují mechanismy pro převod mezi ANSI a Unicode. Mějte na paměti, že konverze přidává trochu režijního zpracování. S dnešními počítači nemusí být významné, ale stále stojí za to vzít na vědomí zlepšení účinnosti programu.

Souhrn:

1. ANSI je velmi staré kódování znaků a Unicode je současný standard používaný dnes 2. ANSI používá odlišné stránky pro různé jazyky, zatímco Unicode ne 3. ANSI používá kódování s pevnou šířkou, zatímco Unicode může používat jak pevnou, tak variabilní šířku 4. Programy Unicode nebudou fungovat na starších systémech 5. Programy ANSI jsou pomalejší než programy Unicode v současných počítačích