Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Popis Unicode kódování znaků

Unicode je název pro tvar kódování znaků různých národních jazyků (čeština, ruština, turečtina, čínština ..) do binární počítačové podoby.
 
Původně byly všechny znaky ukládány do 1 bajtu, tzn. ž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, 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 tzv. 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 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 do 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, že 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 a lze proto 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 scriptech, atd.), UTF-8 se používá v textových souborech (např. XML soubory textů pro Makro výraz $.text).

Přechod na Unicode však umožňují jen OS Windows 2000 a vyšší. Proto pro starší OS Windows 98/Me je dostupná verze Promotic7A. Tato verze je identická s verzí Promotic7, nepracuje však s UTF-16 texty a nelze s ní proto tak snadno vytvářet aplikace například v ruštině.

© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice