Obsah lekce:
Pokud v oblasti informačních technologií pracujeme s textem, tak jednotlivé znaky tohoto textu jsou zpracovávány jako číselné hodnoty. Kódování textu přiřazuje k znakům tyto číselné hodnoty prostřednictvím tzv. znakových sad. Ty se však mohou v jednotlivých jazycích lišit.
Většina znakových sad znakům přiřazuje 8-bitové číslo (nemusí to však být pravidlem a jak je také uvedeno dále, existují i výjimky, například 16-bitové).
Nejstarší standardizovanou znakovou sadou je kód ASCII, jehož vznik se datuje do roku 1963. Název ASCII je zkratkou z „American Standard Code for Information Interchange“, nebo česky „Americký standardní kód pro výměnu informací“.
Kód ASCII je sedmibitový, což znamená, že každému znaku je přiřazeno sedmibitové číslo, tj. číslo z intervalu 0-127. Tento kód tedy definuje 128 znaků.
(zdroj: www.odkaz.cz)
Hlavní nevýhodou ASCII kódu je fakt, že tento kód definuje pouze znaky anglické abecedy – 128 hodnot totiž nedokáže obsáhnout znaky všech národních abeced, které je možno používat v různých jazycích. Z tohoto důvodu byl kód ASCII rozšířen na 8-bitový kód, ve kterém prvních 128 hodnot obsahuje původní ASCII kód a dalších 128 hodnot je možné využít pro znaky specifické pro daný jazyk (většinou tedy znaky s diakritikou). Tato část ASCII kódu není stejná ve všech jazycích, liší se dle použitého kódování.
Jak už bylo zmíněno v předchozí kapitole, ASCII kód je 7-bitová znaková sada, která umožňuje uložit maximálně 128 znaků, nemá tedy dostatečnou kapacitu pro uložení všech znaků národních abeced. Z tohoto důvodu byla tato znaková sada časem rozšířena na 8-bitovou, která již umožňuje uložit až 256 různých znaků. Prvních 128 znaků je většinou shodných s původní tabulkou ASCII a další znaky obsahují znaky národní abecedy. Tyto znaky se většinou v různých znakových sadách liší.
8-bitové znakové sady se někdy také označují společným označením ANSI (např. v operačních systémech MS Windows).
V oblasti 8-bitových kódů se pro kódování češtiny nabízí několik alternativ. Jsou to zejména tyto znakové sady:
Windows-1250 je výchozí znakovou sadou pro kódování češtiny v systému MS Windows. Toto kódování lze používat nejen pro češtinu, ale i pro další středoevropské jazyky (albánština, chorvatština, polština, slovenština a další) a pro němčinu, protože znaky typické pro němčinu jsou na shodných pozicích jako v kódování Windows-1252 (kódování pro západoevropské jazyky).
Pozn.: Šedě podbarvené hodnoty jsou nevyužity. NBSP – nezlomitelná mezera.
(zdroj: www.odkaz.cz)
ISO 8859-2 je další možností kódování znaků v češtině. Toto kódování je definováno jako ISO standard a jeho plné označení zní ISO/IEC 8859-2. Někdy se však u této znakové sady můžeme setkat i s označením Latin-2. Toto označení se však někdy používá i pro kódování CP852 z operačního systému MS-DOS, pro vhodnější rozlišení těchto dvou kódování je vhodnější používat označení ISO Latin-2 pro ISO 8859-2 a PC Latin-2 (nebo IBM Latin-2) pro starší CP852.
Znaková sada ISO 8859-2 se často používá v unixových operačních systémech, například. GNU/Linux.
Pokud porovnáme znakové sadu Windows-1250 a ISO 8859-2 zjistíme, že tyto znakové sady jsou velmi podobné. Tyto sady se liší pouze v umístění některých znaků.
Pozn.: Šedě podbarvené hodnoty jsou nevyužity. NBSP – nezlomitelná mezera.
(zdroj: www.odkaz.cz)
Znaková sada CP852 (jak už bylo uvedeno u sady ISO 8859-2, je tato znaková sada někdy označována jako PC Latin-2 nebo IBM Latin-2) je znaková sada pro středoevropské jazyky a obvykle se používala v operačním systému MS DOS.
Pozn.: Šedě podbarvené hodnoty jsou nevyužity. NBSP – nezlomitelná mezera.
(zdroj: www.odkaz.cz)
SDalší ze znakových sad, které bylo možné v operačním systému MS DOS využívat pro kódování češtiny a slovenštiny. Tento kód je pojmenován podle jeho autorů – Jiřího a Mariana Kamenických. Tato znaková sada vychází ze sady CP437 pro kódování znaků anglické abecedy v operačním systému MS DOS.
První polovinu této sady je shodná s kódem ASCII, ve druhé polovině lze nalézt znaky české a slovenské abecedy.
Pozn.: Šedě podbarvené hodnoty jsou nevyužity. NBSP – nezlomitelná mezera.
(zdroj: www.odkaz.cz)
Posledním ze zmiňovaných znakových sad pro kódování češtiny je znaková sada MacCE (neboli Mac Central European). Ten se používá jako kódování pro středoevropské jazyky na počítačích společnosti APPLE v operačních systémech MacOS.
Kromě výše uvedených znakových sad, které jsou 8-bitové - 1 bytové, lze využívat i vícebitové znakové sady. Ty většinou definují znaky, které jsou definovány ve znakové sadě Unicode. Tato znaková sada by měla obsahovat všechny znaky z používaných abeced různých jazyků.
Vývoj této znakové sady započal v roce 1987 a následně v roce 1991 bylo založeno Unicode Consorcium (http://unicode.org/), které tuto znakovou sadu spravuje. Tato sada v aktuální verzi obsahuje více než 100 000 znaků, avšak poskytuje prostor až pro 1 114 112 znaků s indexy (0)16 až (10FFFF)16. Kompletní tabulka všech těchto znaků je dostupná na webu Unicode Consorcia (http://unicode.org/charts/).
Znaková sada Unicode je v operačních systémech implementována prostřednictvím kódů UTF-8, UTF-16 a UTF-32, které pro uložení znaku využívají minimálně 8 (v případě UTF-8), 16 (v případě UTF-16) nebo 32 bitů (v případě UTF-32) – je to však velikost minimální, některé znaky mohou být kódovány i vyšším počtem bitů.
Výhodou těchto způsobů kódování je fakt, že tyto znakové sady obsahují znaky z většiny jazyků, není tedy nutné vybírat znakovou sadu dle použitého jazyka. Nevýhodou je vyšší velikost souboru a vyšší náročnost pro zakódování souboru.
V nejjednodušších textových editorech (jako je například Poznámkový blok v operačním systému MS Windows) máme pouze nejzákladnější možnosti nastavení kódování. Pokročilejší možnosti nám nabízí až pokročilejší nástroje, jako je například editor PSPad.