Uživatelské nástroje

Nástroje pro tento web


char

Datový typ char

Char je primitivní datový typ, který uchovává jeden znak. I když jej lidé vnímají jako písmeno (např. 'A'), počítač jej vnitřně ukládá jako celé číslo na základě definovaného kódování.

1. Charakteristika a velikost v paměti

Velikost typu char se liší podle použitého programovacího jazyka a kódování:

  • C / C++: Tradičně má velikost 1 bajt (8 bitů), což umožňuje reprezentovat 256 různých hodnot (standard ASCII).
  • Java / C#: Má velikost 2 bajty (16 bitů), protože tyto jazyky používají kódování Unicode (UTF-16) k podpoře mezinárodních znakových sad.

2. Kódování znaků

Protože počítač pracuje pouze s čísly, existují standardy (mapy), které říkají, jaké číslo odpovídá jakému znaku:

ASCII (American Standard Code for Information Interchange)

Nejstarší standard využívající 7 nebo 8 bitů.

  • Obsahuje pouze latinku, číslice a základní symboly.
  • Příklad: Znak 'A' má v ASCII hodnotu 65 ($01000001_2$).

Unicode

Moderní standard, který se snaží pokrýt všechny znaky všech světových jazyků včetně emotikonů.

  • UTF-8: Nejrozšířenější kódování na webu. Je zpětně kompatibilní s ASCII (prvních 127 znaků je stejných).
  • UTF-16: Používá fixní 2 bajty pro většinu běžných znaků.

3. Práce s typem char v kódu

Většina programovacích jazyků používá pro zápis typu char jednoduché uvozovky (apostrofy), na rozdíl od řetězců (String), které používají dvojité.

char pismeno = 'G';
char cislice = '5';
char specialni = '\n'; // Speciální znak pro nový řádek (Escape sekvence)

4. Escape sekvence

Některé znaky nelze zapsat přímo, protože mají speciální význam nebo jsou neviditelné. Používá se pro ně zpětné lomítko `\`:

Sekvence Význam
`\n` Nový řádek (Newline)
`\t` Tabulátor
`\\` Zpětné lomítko
`\'` Jednoduchá uvozovka
`\0` Nulový znak (označuje konec řetězce v jazyce C)

5. Vztah k typu String

Zatímco char představuje pouze jeden prvek, String (řetězec) je v podstatě pole (array) složené z jednotlivých znaků typu char.


Související články:

Tagy: programming data-types char ascii unicode encoding

char.txt · Poslední úprava: autor: admin