Stewdent.eu
▾

ASCII a kódovanie znakov

Zisti, ako počítače ukladajú a zobrazujú písmená, číslice a symboly pomocou ASCII a iných kódovacích systémov.

Posledná aktualizácia: 6. decembra 2025

★★☆☆☆ Stupeň 2computingDátaASCIIencodingcharactersUnicode3 min čítania

Nahlásiť chybu

Počítač rozumie iba číslam — konkrétne nulám a jednotkám. Ale ako potom zobrazí text? Odpoveďou je kódovanie znakov — systém, ktorý každému písmenu, číslici a symbolu pridelí jedinečné číslo.

Čo je ASCII?

ASCII (American Standard Code for Information Interchange — Americký štandardný kód pre výmenu informácií) je jeden z najstarších a najrozšírenejších kódovacích systémov. Bol vytvorený v 60. rokoch 20. storočia a dodnes sa používa ako základ moderných kódovaní.

ASCII priraďuje číslam od 0 do 127 konkrétne znaky:

ASCII kódZnakPopis
65AVeľké písmeno A
66BVeľké písmeno B
97aMalé písmeno a
480Číslica 0
32(medzera)Medzera
33!Výkričník
Poznámka

Veľké písmená A–Z majú kódy 65–90, malé písmená a–z majú kódy 97–122. Rozdiel medzi veľkým a malým písmenom je presne 32. Preto sa dá veľkosť písma zmeniť jednoduchým binárnym operátorom.

Ako sa text ukladá v pamäti

Každý znak sa uloží ako jeden bajt (8 bitov). Slovo „HI" je teda uložené ako:

  • 'H' = 72 = 01001000
  • 'I' = 73 = 01001001

Súbor s textom „Ahoj" zaberá 4 bajty (4 znaky × 1 bajt).

# Zistenie ASCII kódu znaku
znak = 'A'
print(f"ASCII kód '{znak}': {ord(znak)}")  # 65

# Zo kódu späť na znak
kod = 97
print(f"Znak s kódom {kod}: {chr(kod)}")   # a

# Výpis ASCII kódov pre celé slovo
slovo = "Ahoj"
for pismeno in slovo:
    print(f"'{pismeno}' = {ord(pismeno)}")

Obmedzenia ASCII a vznik Unicode

ASCII obsahuje iba 128 znakov — stačí to pre anglický text, ale nie pre slovenčinu (á, č, š, ž...), čínske znaky, arabské písmo alebo emoji.

Preto bol vytvorený štandard Unicode, ktorý obsahuje viac ako 140 000 znakov zo všetkých jazykov sveta.

Najrozšírenejší spôsob ukladania Unicode je UTF-8:

  • Anglické znaky zaberajú stále 1 bajt (spätnú kompatibilitu s ASCII).
  • Znaky s diakritikou (á, ě, ü) zaberajú 2 bajty.
  • Čínske/japonské znaky zaberajú 3 bajty.
  • Emoji zaberajú 4 bajty.
Tip

UTF-8 je dnes štandardom na webe — používa ho viac ako 97 % všetkých webových stránok. Keď otváraš HTML súbor, v hlavičke uvidíš <meta charset="UTF-8">.

Upozornenie

Ak sa súbor uloží v jednom kódovaní (napr. Windows-1250) a otvorí v inom (napr. UTF-8), znaky s diakritikou sa zobrazia nesprávne — objavujú sa podivné znaky ako „Ä ahoj". Tomuto problému sa hovorí mojibake.

Príklad: Kódovanie textu

Veta „Čau!" sa v UTF-8 uloží takto:

  • Č = 2 bajty (0xC4 0x8C)
  • a = 1 bajt (0x61)
  • u = 1 bajt (0x75)
  • ! = 1 bajt (0x21)

Spolu: 5 bajtov (nie 4, lebo „Č" zaberá 2 bajty v UTF-8).

Cvičné príklady

Aký je ASCII kód písmena 'M'? Pomôcka: 'A' má kód 65.

Zobraziť odpoveď
77 — písmeno 'M' je 13. písmeno abecedy, takže 65 + 12 = 77.

Prečo ASCII nestačí na zobrazenie slovenských znakov ako 'š' alebo 'č'?

Zobraziť odpoveď
ASCII obsahuje iba 128 znakov (kódy 0–127) a zahŕňa iba základné anglické písmená bez diakritiky. Slovenské znaky so diakritikou nie sú v ASCII definované — na ich zobrazenie je potrebné rozšírené kódovanie ako UTF-8.