Promotic

Popis Unicode kódování znaků

Unicode je název pro tvar kódování znaků různých národních jazyků (česky, rusky, turečtina, čínština ...) do binární počítačové podoby.

Původně byly všechny znaky ukládány v jednom bajtu, to znamená, že tak bylo možno kódovat celkem 256 různých znaků. Prvních 128 znaků je předepsáno standardem a tvoří tzv. ASCII tabulku ve které je definováno přiřazení všech základních malých (a-z) i velkých (A-Z) latinských znaků bez diakritiky (tzn. národnostně závislé znaky), všech cifer (0,1-9), speciálních znaků jako čárka, středník, dvojtečka a mnoho dalších.
Dalších 128 možností je určeno pro kódování zvláštních znaků pro jednotlivé národní jazyky. Pro středoevropské jazyky jsou to například znaky á, č, ü, atd., pro ruštinu jsou to například znaky ф, и, б, ъ, atd. Bohužel je těchto speciálních znaků pro všechny jazyky světa příliš mnoho a nelze je všechny kódovat do zbývajících 128 možností. Vznikaly proto kódové stránky pro jednotlivé skupiny jazyků. Například kódování Win-1250 pro všechny znaky používané ve střední Evropě, kódování Win-1251 pro všechny znaky Cyriliky, atd. Tímto se vyřešilo ukládání textů pro konkrétní jazyk, nebylo však možno napsat text obsahující znaky vzájemně "nekompatibilních" jazyků.

Problém kódování všech znaků všech jazyků vyřešilo zavedení kódování Unicode (podrobně viz server sdružení Unicode http://www.unicode.org). Toto kódování je schopné správně zakódovat všechny znaky světa. Vyřešilo se to tím, že znaky nejsou ukládány v 1 bajtu (jen 256 možností) ale jsou ukládány do 2 bajtů (tzn. 65536 možností). Toto kódování se označuje identifikátorem UTF-16.
Výhodou UTF-16 je snadná správa všech znaků, nevýhodou však je dvojnásobná velikost a nekompatibilita s ASCII tabulku. Tato nevýhoda se zejména projevuje při ukládání do textových souborů. Byl proto standardizován ještě druhý způsob Unicode kódování, který má pro znaky proměnlivou délku uložení. Znaky ASCII tabulky se ukládají na 1 bajt, zbývající znaky se pak ukládají na 2 a více bajtů (z 1. bajtu lze poznat, zda bude následovat další bajt). Toto kódování se označuje identifikátorem UTF-8. Používá se převážně pro textové (XML, HTM) soubory. Pro přímou práci v paměti počítači se však tento text převádi do UTF-16, protože v něm je práce s textem zase rychlejší.

Kódování UTF-16 a UTF-8 používá systém PROMOTIC od verze 7.1.0 a proto lze psát aplikace v různých jazycích bez potřeby přepínání kódových stránek nebo nutnosti speciálních jazykových verzí OS Windows. UTF-16 se používá za běhu aplikace (texty v obrazech, ve skriptech, atd.), UTF-8 se používá v textových souborech (např. XML soubory textů pro Makro výraz $.text).
© MICROSYS, spol. s r.o.