Rozpozná dekadický i šestnáctkový kód (65, 0x41, U+0041), HTML entitu (é, é), samotný znak i český název. Tabulka pod polem se filtruje současně.
Detail znaku
Bajty 128 až 159 mají ve Windows-1252 jiný kódový bod, než je jejich dekadická hodnota — bajt 150 je pomlčka U+2013. V ISO-8859-1 je celá tahle oblast řídicí a prázdná, což je nejčastější příčina rozsypaných znaků.
Tabulka znaků
| Znak | DEC | HEX | OCT | BIN | HTML | Název | Akce |
|---|
Kliknutím na znak v tabulce se načte do detailu nahoře. Tlačítko na konci řádku zkopíruje celý řádek jako text oddělený tabulátory — dá se vložit do tabulkového procesoru.
ASCII tabulka přiřazuje každému znaku číslo. Písmeno A má kód 65, malé a kód 97, číslice nula kód 48. Původní sada má 128 znaků a vejde se do sedmi bitů, protože vznikla v roce 1963 pro dálnopisy, kde se každý bit počítal.
Základní ASCII tabulka znaků
Přehled tisknutelných znaků s kódy v desítkové, šestnáctkové a dvojkové soustavě. Celou sadu včetně řídicích znaků najdete v tabulce nahoře, i s vyhledáváním.
| Znak | Dec | Hex | Bin | Popis |
|---|---|---|---|---|
| mezera | 32 | 20 | 00100000 | oddělovač slov |
| 0 | 48 | 30 | 00110000 | číslice nula, dál 1 až 9 |
| A | 65 | 41 | 01000001 | velká písmena po Z (90) |
| Z | 90 | 5A | 01011010 | konec velkých písmen |
| a | 97 | 61 | 01100001 | malá písmena po z (122) |
| z | 122 | 7A | 01111010 | konec malých písmen |
| DEL | 127 | 7F | 01111111 | poslední kód sedmibitové sady |
Rozestup mezi velkým a malým písmenem je vždy 32. Proto se v programování dá velikost písmene měnit přičtením nebo odečtením tohoto čísla, případně změnou jediného bitu.
Převod ASCII do binárního kódu
Znak se převádí ve dvou krocích: nejdřív se najde jeho číslo v ASCII tabulce, potom se to číslo zapíše ve dvojkové soustavě. Slovo Ahoj tak vyjde jako 01000001 01101000 01101111 01101010, protože A je 65, h je 104, o je 111 a j je 106.
Osm bitů na znak je dnešní zvyk, i když by sedm stačilo. Nejvyšší bit zůstává nulový; dřív sloužil ke kontrole přenosu. Když potřebujete převádět rovnou mezi soustavami bez ohledu na znaky, hodí se převodník číselných soustav.
Řídicí znaky 0 až 31
Prvních 32 kódů se nedá vytisknout ani zobrazit. Jsou to příkazy pro zařízení, které text zpracovává. Nejčastěji potkáte kód 10 pro nový řádek, kód 13 pro návrat vozíku, kód 9 pro tabulátor a kód 0, který v jazyce C ukončuje řetězec.
Dvojice 13 a 10 je důvod, proč se textové soubory z Windows a z Linuxu chovají jinak. Windows zapisuje konec řádku jako dva znaky, Linux a macOS jako jeden. Kód 127 pro mazání do této skupiny logicky patří, ale číselně stojí až na konci sady.
Proč v ASCII nejsou české znaky
Do 128 míst se vešla anglická abeceda, číslice a interpunkce. Na háčky a čárky prostor nezbyl. Řešením bylo rozšíření na 256 znaků, kde druhá polovina obsahuje písmena podle zvolené kódové stránky. Ve Windows to byla Windows-1252 pro západní Evropu; čeština patřila do Windows-1250.
Právě z toho vznikaly nečitelné texty, protože stejný bajt znamenal v každé kódové stránce jiné písmeno. Dnes to řeší Unicode a kódování UTF-8, kde má znak č pevný kód U+010D a v souboru zabere dva bajty. Prvních 128 znaků UTF-8 se s ASCII shoduje, takže starý anglický text je zároveň platné UTF-8.
Alt kódy a psaní znaků z klávesnice
Ve Windows se znak dá napsat přes číslo z ASCII tabulky. Držte Alt a na numerické klávesnici napište kód, například Alt a 64 pro zavináč. S nulou na začátku se použije kódová stránka Windows, takže Alt a 0150 dá pomlčku.
Funguje to jen na numerické klávesnici, ne na číslicích nad písmeny. Na notebooku bez numerické části je proto jednodušší znak najít v tabulce a zkopírovat ho. Pro delší texty se hodí počítadlo znaků, které spočítá i to, kolik místa výsledek zabere.
HTML entity a escape sekvence
V HTML se některé znaky zapisují opisem, protože by se jinak vzaly jako značky. Menšítko se píše jako <, ampersand jako & a nezlomitelná mezera jako . Každý znak jde zapsat i číselně přes jeho kód, tedy A pro A.
V programovacích jazycích se místo entit používají escape sekvence. Nový řádek je \n, tabulátor \t a znak podle kódu se v JavaScriptu zapíše jako \u010D. Tabulka nahoře u každého znaku ukazuje entitu i sekvenci, takže je nemusíte hledat jinde. Když převádíte celé bloky dat, použijte Base64 enkodér.
Časté otázky
Co je ASCII tabulka?
Je to seznam 128 znaků, kde každý má své číslo od 0 do 127. Počítač si znaky ukládá jako čísla, takže tabulka říká, které číslo znamená které písmeno. Zkratka znamená American Standard Code for Information Interchange.
Proč má A kód 65?
Rozvržení sady vzniklo tak, aby se s ním dalo snadno počítat. Číslice začínají na 48, velká písmena na 65 a malá na 97. Rozestup 32 mezi velkým a malým písmenem odpovídá jednomu bitu, takže se velikost písmene dala přepnout jedinou operací.
Jaký je rozdíl mezi ASCII a UTF-8?
ASCII zná 128 znaků a každý zabere jeden bajt. UTF-8 pokrývá celý Unicode, tedy i češtinu, řečtinu nebo emoji, a znak v něm zabere jeden až čtyři bajty. Prvních 128 kódů je v obou sadách shodných, proto se anglický text v obou kódováních čte identicky.
Kde najdu mapu znaků ve Windows?
Spustíte ji příkazem charmap, nebo ji najdete v nabídce Start jako Mapa znaků. Ukazuje znaky nainstalovaných fontů a umí je zkopírovat. Tabulka na této stránce navíc rovnou zobrazí kód znaku ve všech soustavách a HTML entitu.
Jak zjistím kód konkrétního znaku?
Vložte znak do vyhledávacího pole a nástroj vypíše jeho kód desítkově, šestnáctkově, osmičkově i dvojkově. Funguje to obousměrně, takže zadáte-li číslo nebo zápis U+010D, dostanete znak. Hledat jde i podle názvu, například šipka vpravo, a diakritiku přitom psát nemusíte.