Vědět víc - vzdělávací portál pro zvídavé


Kódování znaků

Slide

V některé z úvodních lekcí jsme si řekli, že počítač pracuje pouze s čísly. Ale my najednou pracujeme s řetězci, co jsou vlastně texty? Jak je to možné? 

Počítač pracuje tak, že všechna data převádí na čísla. Nic jiného totiž opravdu zpracovat neumí.  

I znaky tedy musíme převést na čísla. 

Nejjednodušší je každému znaku přiřadit nějaké číslo. Můžeme si jej přiřadit úplně libovolně, ale lepších výsledků dosáhneme, pokud se na nějakém přiřazení dohodneme s ostatními. Důvodem je výměna informací - chceme, aby našim datům rozuměl i někdo jiný. 

Pokud vytvoříme nějaké standardní přiřazení čísel a znaků (které budeme sdílet se všemi), vytvoříme takzvaný kód (či chcete-li kódování). Pokud si přiřazení necháme pro sebe (a nikomu jej neřekneme), vytvoříme šifru. To je zásadní rozdíl mezi kódováním a šifrováním (i když to sem patří jen vzdáleně, bylo dobré to zmínit). 

Nejpoužívanější kód v informačních technologiích je kód ASCII. I když v dnešní době používáme řadu jiných kódů, je většina z nich založena právě na kódu ASCII

ASCII je zkratka American Standard Code for Infomation Interchange nebo americký standardní kód pro výměnu informací. 

Základní kód ASCII kóduje 128 znaků, většina implementací jej rozšiřuje na 256 znaků (tolik se vejde do bytu). Prvních 128 znaků je však standard a jsou vždy stejné. 

Znaky o 0 do 31 jsou tzv. řídící (kontrolní) znaky, které neslouží k tisku a většina z nich ani nemá svou grafickou reprezentaci (některé ji však mají). Řídící znaky byly původně určeny pro ovládání tiskových zařízení (tiskárna, dálnopis), v DOSu (a DOSovém okně) lze některé z nich použít i řízení tisku na obrazovku. 

Následující tabulka ukazuje kódování 128 ASCII znaků. Červená pole označují netisknutelné (řídící) znaky, které jsou označeny svými kódy (zdroj: Wikipedia


Pro zajímavost uvedeme několik kontrolních znaků (ty další jistě nebude problém vygůglit) - vlastně jsou jen dva, ale jsou ty nejpoužívanější a můžeme je potřebovat. 

  • LF – Line Feed – posun o jeden řádek; jasný příkaz pro tiskárnu, používá se ale i při tisku na monitoru; použijeme-li příkaz PRINT, na jeho konci se tento znak vytiskne (sám od sebe, pokud jej tam nechceme, musíme použít PRINT se středníkem na konci) 
  • CR – Carriage Return – návrat vozíku; myslí se vozík tiskárny neboli tisková hlava; zjednodušeně to znamená, že se přesouváme na začátek řádku; a toto je druhý znak, který tiskne PRINT na konci. Proto další PRINT začíná psát na dalším řádku vlevo. 

Pro práci s kódováním znaků má BASIC připraveny dvě funkce: 

  • ASC – funkce převádí znak na ASCII hodnotu 
  • CHR$ - funkce převádí ASCII hodnotu na znak
    tato funkce je velmi užitečná v případě, že chceme do řetězce zahrnout řídící (tedy netisknutelné) znaky.