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 nebo 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).