ASCII (vyslovuje se az-kee, v americkém jazyce ass-key) je tabulka znaků pro počítače. Jedná se o binární kód, který elektronická zařízení používají ke zpracování textu pomocí anglické abecedy, čísel a dalších běžných symbolů. ASCII je zkratka pro American Standard Code for Information Interchange (Americký standardní kód pro výměnu informací). ASCII byl vyvinut v 60. letech 20. století a vycházel z dřívějších kódů používaných telegrafními a teletype systémy. První standardy vznikaly v rámci výboru ANSI (původně ASA) a konečná forma 7bitového kódu se ustálila během 60. let, s pozdějšími revizemi.

Co obsahuje kód a jak funguje

Kód obsahuje definice 128 znaků: většina z nich jsou tiskací znaky abecedy, například abc, ABC, 123 a ?&!. Jsou zde také řídicí znaky, které nelze vytisknout, ale které řídí způsob zpracování textu, například začátek nového řádku. Tyto řídicí znaky najdete v levém sloupci klasických tabulek ASCII. Většina řídicích znaků se dnes již k původnímu účelu nepoužívá. Neexistují žádné skutečné řídicí znaky pro formátování (pro tučné písmo nebo kurzívu atd.).

Někdy někdo mluví o souboru nebo dokumentu v ASCII, což znamená, že je to prostý text, tedy text složený pouze ze znaků definovaných v ASCII (bez diakritiky a speciálních znaků jiných abeced).

Bity, hodnoty a rozšíření

Původní ASCII je 7bitový kód — to znamená, že definuje 128 hodnot (0–127). Například velké písmeno A má v ASCII hodnotu 65 v desítkové soustavě (což odpovídá 41 v šestnáctkové soustavě) a v sedmibitové binární podobě to je 1000001. V praxi se ASCII často ukládal do 8bitových bajtů, přičemž osmi bitům se někdy využíval paritní bit pro kontrolu chyb při sériovém přenosu nebo modemovém spojení — např. přidáním nultého nebo kontrolního bitu vznikal osmibitový oktet 01000001 pro písmeno A. To bylo důležité v době, kdy byla spojení často zašuměná.

Po rozšíření výpočetní techniky vznikly osmibitové rozšířené znakové sady (tzv. "extended ASCII"), jako např. ISO/IEC 8859-1 nebo Windows-1252, které využívají hodnoty 128–255 pro diakritiku a další znaky. Dnes většina systémů používá Unicode (UTF-8/UTF-16), přičemž první 128 kódových bodů Unicode je identických s ASCII — ASCII tak tvoří základ současného textového kódování.

Řídicí znaky a běžné konvence

Řídicí znaky v rozsahu 0–31 a také 127 (DEL) měly konkrétní účely: NUL (0) označuje prázdný znak, BEL (7) spouští zvukový signál, BS (8) je backspace, HT (9) tabulátor, LF (10) nový řádek (line feed), CR (13) návrat vozíku (carriage return) apod. Z těchto se dodnes nejčastěji používají LF a CR pro oddělení řádků; různé operační systémy mají na tom odlišné konvence (Unix/Linux používají LF, Windows CR+LF, starší Mac OS používal CR).

Řídicí znaky většinou neovládají formátování textu jako tučné nebo kurzíva — na to se používají vyšší vrsty (formátovací jazyky, značkovací jazyky nebo bohaté textové formáty). Mnohé kontrolní kódy jsou dnes historické a uchovávají se jen ze zpětné kompatibility.

Význam a použití dnes

ASCII sehrálo klíčovou roli v raném rozvoji softwaru, sítí a protokolů — například textová část protokolů jako SMTP, HTTP nebo mnoho starších unixových nástrojů je založená na ASCII. I když moderní aplikace pracují s Unicode, znalost ASCII je užitečná pro porozumění základním textovým operacím, řízení znakových sad a interoperabilitě mezi systémy.

Shrnuto: ASCII je jednoduchý, dobře zdokumentovaný a široce podporovaný základní znakový kód, který položil základy pro pozdější, širší standardy kódování znaků.