TIP#142: Kódování češtiny? Co jsou to ty UTF, 8859-2, KOI-8-ČS2 a tak podobně

Pokud pamatujete počátky počítačů (a ještě pozdější počátky Internetu), tak si možná vzpomenete na něco s názvem „Kameničtí“ co dokonce získalo (neoficiálně) vlastní „kódovou stránku“ v podobě CP895. Možná si i vzpomenete na obskurní pokus o zcela vlastní řešení češtiny pro počítače známé pod KOI-8-ČS2 (mělo to „ch“ jako jeden znak). Později si možná vzpomenete na zápasy s CP852, PC Latin2. A ještě později, Windows-1250 (v tomhle kódování dodnes například jede pooh.cz a už mu to asi zůstane).

kamenicti-glyphy
Kameničtí původně umožňovali jakž takž číst české texty i tam, kde čeština nebyla na počítači přítomna. (Zdroj: Wikipedia).

Dnes už až tak často nepotřebujeme programy pro konverzi kódování češtiny a tzv. „kódování“ se dnes poměrně hodně ustálilo na použití světově univerzálního kódování UTF-8. Nakonec i díky tomu je dnes daleko jednodušší používat počítače, telefony i tablety aniž byste se dívali na podivně rozsypané texty.

Kódování různých znakovaných sad byl na počátcích počítačů a Internetů problém. Čeština v tomto ohledu prošla bouřlivým vývojem, ale není to nic proti tomu jak složité to musí být s řadou různých čínštin či různorodými korejskámi, japonskými či hebrejskými znaky. Nakonec i azbuka je příkladem toho, jak složité to bylo. A jak dnes můžete být rádi, že se to vše sjednotilo právě na UTF-8/16. A můžete tak nadšeně používat nejenom znaky, ale řadu různých symbolů a emotikonů.

V počátcích kódování znaků stojí ASCII, které jaksi počítalo s tím, že existuje maximálně 255 znaků (protože se kód znaků musí vejít do jednoho bajtu, tedy do 256 možných kombinací a ten s kódem 0 znakem prostě moc není). Velmi rychle se zjistilo, že 255 znaků nestačí, takže vzniklo několik variant UTF, kde  nakonec vše spíše končí u UTF-8. Tohle kódování je zpětně kompatiblní s ASCII (což je vlastně uplně počáteční  anglická znaková sada, původně jenom se 127 znaky), takže dnes stále můžete číst texty a soubory z počátků Internetu. Ale protože jeden znak zde může reprezentovat posloupnost jednoho až šesti bajtů, vejdou se sem prakticky všechny světově používané znakové sady (abecedy).

Dnes vás moc otázka kódování češtiny trápit nebude, jedině pokud se setkáte s problémy. Tam byste měli vědět, že v HTML kódu webových stránek je pomocí META značky jménem CHARSET uváděno, v čem je kódována. A pokud něco takového chybí, tak může být problém. Stejně tak je ještě stále nutné vědět, v jakém kódování jsou data ukládána v databázích. Problémy s kódováním váš čekají u starších e-knih, kde se vám bude hodit třeba to, že existují (na počátku) zmíněné konvertory.

Capture10
Právě díky Unicode je dnes možné mít k dispozici řadu symbolů, obrázků, piktogramů, či smajlíků.

Může se vám také hodit, že ve Windows se pomocí klávesnice na počítači dají psát jak ASCII, tak znaky Unicode  – slouží k tomu držení ALT a používání numerické klávesnice. Takže je třeba dobré vědět, že Alt+64 vám dá „@“ (zavináč). A pokud budete chtít psát Unixode znaky, tak jejich číslo bude začínat nulou. Třeba Alt+0640 je „€“ (Euro).

TIPEmoji? Jak je psát, kde je vzít a k čemu je to dobré? ta trochu souvisí s tématem znakových sad. Právě díky Unicode je dnes možné mít k dispozici řadu symbolů, obrázků, piktogramů či smajlíků (i těch co se jim říká emoji). Ale ani tady to není tak jednoduché, protože jejich výskyt se liší podle platformy, takže to co najdete v zařízeních od Apple už nemusí být nutně k nalezení v Androidu či Windows.

POZNÁMKA: Morseova abeceda je, mimochodem, také kódování znaků, kde navíc každý znak či symbol má jinou délku. Ještě před počítači se znaky a symboly přenášely telegrafem, tam sloužilo Baudotovo kódování (vzniklo v roce 1870), kde každý znak potřeboval pět bitů. Původní ASCII bylo sedmi bitové a objevilo se až v roce 1963.

Kdesi na počátku zmíněno CP852 si možná ještě pamatujete z DOSu a dřívějších verzí Windows. CP zde znamená Code Page, kódová stránka a s pomocí různorodých „kódových stránek“ pak DOS/Windows dokázaly pracovat s různými znakovými sadami. Ale protože UTF bylo v té době ještě v plenkách, bylo to celé poměrně dost komplikované.

Dnes už ńás kódové stránky a znakové sady trápí zejména jen v okamžiku, kdy se špatně zobrazují došlé maily, případně stránky na webu. Právě to je příkladem toho, že někdo napsal text v jiné znakové sadě, případně zapomněl znakovou sadu uvést. A protože změna znakové sady pro zobrazení postupně mizí i z prohlížečů, tak toho s tím většinou ani nic moc nedokážeme udělat.

TIP: Když už jsme zmínili to ASCII, tak se vám možná bude líbit tip Co je to ASCII Art.