Anglická verze
logolink

< Zpět na seznam lekcí

Kódování textu a znakové sady 1

ostatni-sinObsah lekce:

  • ASCII
  • 8-bitová kódování
  • Nejčastěji používaná kódování českého jazyka (8-bitová kódování)
  • Windows-1250
  • ISO 8859-2
  • CP852
  • Kód Kamenických
  • MacCE
  • Unicode a vícebytové sady
  • Volba znakové sady

Úvod

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

ASCII

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ů.

ascii
(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í.

8-bitová 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).

Nejčastěji používaná kódování českého jazyka (8-bitová kódování)

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
  • ISO 8859-2
  • CP852
  • Kód Kamenických
  • MacCE

Windows-1250

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

ascii
Pozn.: Šedě podbarvené hodnoty jsou nevyužity. NBSP – nezlomitelná mezera.
(zdroj: www.odkaz.cz)

ISO 8859-2

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ů.

ascii
Pozn.: Šedě podbarvené hodnoty jsou nevyužity. NBSP – nezlomitelná mezera.
(zdroj: www.odkaz.cz)

CP852

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.

ascii
Pozn.: Šedě podbarvené hodnoty jsou nevyužity. NBSP – nezlomitelná mezera.
(zdroj: www.odkaz.cz)

Kód Kamenických

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.

ascii
Pozn.: Šedě podbarvené hodnoty jsou nevyužity. NBSP – nezlomitelná mezera.
(zdroj: www.odkaz.cz)

MacCE

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.

Unicode a vícebytové sady

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.

Volba znakové sady

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.

Otázky

  1. Co je to kódování textu?
  2. Jaká jsou nejčastěji používaná kódování českého jazyka?
  3. Lze jednoduše změnit znakovou sadu?
webdesign, xhtml, css, php - Mgr. Michal Mikláš