Jak se kódují znaky v digitálním světě? Proč občas zlobí diakritika v titulcích? Co přesně se skrývá pod zkratkami UTF-8, Windows-1250 nebo třeba ISO-8859? Ilustrace: AI DALL-E 3

Jak se kódují znaky v digitálním světě? Proč občas zlobí diakritika v titulcích? Co přesně se skrývá pod zkratkami UTF-8, Windows-1250 nebo třeba ISO-8859? | Ilustrace: AI DALL-E 3

Sedm zhasnutých a jeden rozsvícený bit v bajtu

Sedm zhasnutých a jeden rozsvícený bit v bajtu

256 možných vzestupných variant bitů na fyzikální úrovni (světýlka) a na logické (jedničky a nuly binární soustavy) 

256 možných vzestupných variant bitů na fyzikální úrovni (světýlka) a na logické (jedničky a nuly binární soustavy) 

256 možných variací bitů v bajtu jako celá čísla 

256 možných variací bitů v bajtu jako celá čísla 

Znaková sada ASCII

Znaková sada ASCII

Tabulka ASCII a vyznačené kódy použitých znaků P, E, S, CR, LF

Tabulka ASCII a vyznačené kódy použitých znaků P, E, S, CR, LF

Dva psi jako text ASCII

Dva psi jako text ASCII

Dva psi jako skutečné hodnoty bajtů

Dva psi jako skutečné hodnoty bajtů

Znaková sada ISO-8859-1

Znaková sada ISO-8859-1

PÓL jako text ISO-8859-1 

PÓL jako text ISO-8859-1 

PÓL jako skutečné hodnoty bajtů

PÓL jako skutečné hodnoty bajtů

Znaková sada ISO-8859-2

Znaková sada ISO-8859-2

ŽIRAFA jako text ISO-8859-2

ŽIRAFA jako text ISO-8859-2

ŽIRAFA jako skutečné hodnoty bajtů

ŽIRAFA jako skutečné hodnoty bajtů

Znaková sada Windows-1250

Znaková sada Windows-1250

ŽIRAFA v kódování Windows-1250/ANSI

ŽIRAFA v kódování Windows-1250/ANSI

Poznámkový blok podporuje jen kódování Unicode a Windows (ANSI)

Poznámkový blok podporuje jen kódování Unicode a Windows (ANSI)

Windows-1250 a zašedlé adresy jeho znaků, které v ISO-8859-2 představují něco jiného

Windows-1250 a zašedlé adresy jeho znaků, které v ISO-8859-2 představují něco jiného

Členové konsorcia Unicode s volebním právem

Členové konsorcia Unicode s volebním právem

Prvních 512 znaků Unicode. Znaky do 128. pozice mají stejnou adresu jako ASCII (zeleně) a do 256. pozice jako ISO-8859-1 (modře). Na růžové znaky už potřebujeme více bitů než dosavadních 8

Prvních 512 znaků Unicode. Znaky do 128. pozice mají stejnou adresu jako ASCII (zeleně) a do 256. pozice jako ISO-8859-1 (modře). Na růžové znaky už potřebujeme více bitů než dosavadních 8

ŽIRAFA v UTF-16 s šestnáctibitovou šířkou znaku

ŽIRAFA v UTF-16 s šestnáctibitovou šířkou znaku

ŽIRAFA v úsporném UTF-8 s variabilní šířkou znaků Unicode

ŽIRAFA v úsporném UTF-8 s variabilní šířkou znaků Unicode

Způsob variabilního kódování znaků UTF-8  na české Wikipedii

Způsob variabilního kódování znaků UTF-8 na české Wikipedii

Sedm zhasnutých a jeden rozsvícený bit v bajtu
256 možných vzestupných variant bitů na fyzikální úrovni (světýlka) a na logické (jedničky a nuly binární soustavy) 
256 možných variací bitů v bajtu jako celá čísla 
Znaková sada ASCII
23
Fotogalerie

Ultimátní průvodce znakovými sadami. Co je to Windows-1250, ISO-8859-2, UTF-8 a další peklo, které nás trápí celé roky

  • Jak se kóduje digitální informace na počítači
  • Proč občas zlobí diakritika v titulcích a vypisují se jiné znaky
  • Co přesně se skrývá pod zkratkami UTF-8 nebo třeba Windows-1250?

Dnes se pokusíme prakticky a formou obrázků vysvětlit, jak se kóduje text na počítači. Tento fenomén totiž už několik desítek let trápí nejednoho majitele PC, který sice mnohokrát slyšel o jakémsi ASCII, ISO-8859-2, Windows-1250 a v posledních letech hlavně o UTF-8, ale možná úplně netuší, co se za těmito zkratkami skrývá a jak to vlastně celé funguje.

Co je to bit

Začněme od úplného začátku, ale nebojte se, bude to jen první stručná kapitola.

V digitální éře 21. století ukládáme na počítačích jakoukoliv informaci ve formě dvou rozlišitelných stavů, kterým říkáme bit. Čtyři bity tvoří půlbajt (tzv. nibble) a dva půlbajty jeden bajt.

f8678123-13b2-4ec5-8772-ff0ddecd8aab
Sedm zhasnutých a jeden rozsvícený bit v bajtu

Na fyzikální úrovni bychom mohli vytvořit bit třeba pomocí dvou odlišných elektrických napětí. Jedno bude vyšší a druhé nižší. Kdybychom měli po ruce osm světýlek a poskládali bychom je do dvou řad po čtyřech (tedy dva půlbajty pod sebou), celý bajt by pak vypadal jako na obrázku výše. Všimněte si, že svítí jen jedno světýlko úplně na konci a všechny ostatní bity jsou zhasnuté.

Když teď vysoké (zapnuté) a nízké (zhasnuté) stavy bitu nahradíme numerickými hodnotami 1 a 0, bajt na obrázku budeme moci vyjádřit číselnou hodnotou:

 0000 0001

Se kterou už můžeme provádět matematické operace v binární soustavě. Začátečníkům pomůže třeba kalkulačka ve Windows 10/11, která má docela povedený režim pro vývojáře, v němž můžete intuitivně zapínat a vypínat jednotlivé bity podobně jako naše lampičky a sledovat, co se stane.

256 celých čísel v jednom bajtu

Pokud si ze školy matně vzpomínáte na kombinatoriku, tak možná víte, že když máme osm bitů (k), z nichž každý může nabývat dvou stavů (n), složíme z nich dohromady nk variací s opakováním.

22823158-d107-434c-99ce-02de09a0a284
256 možných vzestupných variant bitů na fyzikální úrovni (světýlka) a na logické (jedničky a nuly binární soustavy) 

Jeden bajt s osmi bity proto pojme 28 (tedy 256) možných variant bitů, které mohou představovat třeba 256 celých čísel v rozsahu 0 až 255.

Do jednoho jediného bajtu pak můžeme uložit jak informaci o barvě pixelu s až 256 odstíny, tak informaci, že má tentýž bajt představovat třeba jeden z 256 možných textových znaků.

31745c2f-36f3-4a41-aeee-df00241d2195
256 možných variací bitů v bajtu jako celá čísla 

Skvělé, už víme, proč osm bitů, tedy jeden bajt, pojme právě 256 různých hodnot, no a v následujících kapitolách si vysvětlíme, jak tyto hodnoty proměnit ve viditelné znaky na obrazovce. Třeba ty, které právě teď tvoří tento článek.

Základem většiny znakových systémů v posledních šedesáti letech je American Standard Code for Information Interchange – ASCII. A právě na ASCII se podíváme v druhé kapitole

Pokračování 2 / 7

Americká znaková sada ASCII

Pokud chceme do bajtů ukládat textové znaky, musíme se nejprve všichni domluvit na tom, jaká čísla jim přidělíme. Slouží k tomu kódová tabulka – znaková sada (anglicky charset).

Počítačová revoluce v druhé polovině 20. století naplno propukla v USA, není tedy divu, že tehdejší první znakové tabulky používaly zpravidla jejich anglickou abecedu a sloužily třeba v dálnopisech.

Nejúspěšnější sadou, od které se odvíjí i drtivá většina všech ostatních, se zrodila v 60. letech minulého století a jmenuje se American Standard Code for Information Interchange – ASCII. Jelikož používá pouze 7 bitů, skládá se ze 128 řídících a tisknutelných znaků.

212bdc6a-07cb-4fd4-9806-04c44561aab6
Znaková sada ASCII

V každé buňce je vždy tisknutelný znak (zeleně), nebo zkratka toho řídícího (červeně), a pod ním jeho pořadí v tabulce pro přehlednost jak v desítkovém, tak šestnáctkovém zápisu.

Jak vidno, v tabulce je celá abeceda bez diakritiky, čísla, zavináč, závorky... A mezi řídícími/netisknutelnými znaky třeba posunutí kurzoru na začátek řádku CR – Carriage Return (pozice 13) a zalomení řádku LF – Line Feed (pozice 10).

Už se v tom ztrácíte? Nebojte se, v další kapitole si ukážeme, jak to bude vypadat, když v kódování ASCII uložíme text:

PES
PES

Pokračování 3 / 7

Ukládáme dva psy v ASCII

Dejme tedy domu, že chceme uložit dva řádky textu do souboru ascii.txt a v kódování ASCII. Na tom prvním bude slovo PES, za kterým budou následovat řídící znaky CR a LF, které počítači říkají, že se má kurzor přesunout na začátek dalšího řádku. Na závěr opět uložíme PES.

Poznámka: Většina operačních systémů a programů dnes provede odřádkování s přesunutím kurzoru na začátek, i když narazí pouze na LF, ale nekomplikujme to. 

61883d71-8d12-41e8-a3ce-2bf460ff39ba
Tabulka ASCII a vyznačené kódy použitých znaků P, E, S, CR, LF

Jak už jsme si řekli výše, počítačový procesor a paměť nepracují s žádnými písmeny, ale s bity a bajty. V souboru ascii.txt tedy ve skutečnosti nejsou uložené znaky, ale bajty s numerickým kódem znaku podle tabulky ASCII.

Když se podíváte na převodní obrázek výše, v souboru by tedy měla být řada bajtů s těmito dekadickými hodnotami:

 80, 69, 83, 13, 10, 80, 69, 83

Protože ale v digitálním světě uvádíme hodnoty bajtů spíše v šestnáctkové soustavě, tak ještě jednou:

50 (P), 45 (E), 53 (S), 0D (CR), 0A (LF), 50 (P), 45 (E), 53 (S)

Když takto uložený soubor otevřu v univerzálním prohlížeči Lister, který je součástí správce souborů Total Commander, ale stáhnout jej můžete i samostatně, v textovém režimu uvidím dva řádky se psy, ale v tom binárním skutečné hodnoty bajtů v šestnáctkovém zápisu. A je to přesně ta řada, kterou jsme si napsali v předchozím odstavci.

691be4ef-72d2-4829-9a2e-e5cc261e4393140d5c9e-f7bb-4edc-8007-487a6e58c6a7
Dva psi jako text ASCII a jako skutečné hodnoty bajtů

Výborně, už rozumíme ASCII, tato základní a historická znaková sada nicméně stačila leda tak v USA. Co ale nebozí Evropané se svojí diakritikou? A kam ty další znaky vůbec vtěsnat?

To si ukážeme v další kapitole, ve které se seznámíme se znakovou sadou ISO-8859-1

Pokračování 4 / 7

Západoevropská znaková sada ISO-8859-1

V dřevních dobách počítačů, kdy šlo při ukládání informací o každý volný bit, se kódová tabulka ASCII náramně hodila, oněch 128 možných znaků totiž při přenosu okupovalo pouze 7 bitů (2⁷ = 128) a do slovníku se vešla celá anglická abeceda a hromada pomocných řídících povelů pro dálnopisy a terminály té doby.

58d1f6f1-5b38-49aa-817d-3488c4d008be
Znaková sada ISO-8859-1

Jenže co čert nechtěl, od 70. let minulého století se počítače masivně prosazují také v Evropě a pro potřeby práce s textem se proto zrodila celá plejáda alternativních národních tabulek. Jsou už osmibitové – okupují celý bajt – a základní ASCII doplnily o znaky s diakritikou z germánských a románských jazyků.

V 80. letech na jejich základě vzniká „západoevropské“ kódování, které už známe jako mezinárodní standard ISO-8859-1.

Slovo PÓL v ISO-8859-1

Jak je patrné z obrázku výše, červenozelený základ původního ASCII rozšiřuje nejprve o místo pro případné další řídící znaky (v praxi se nepoužívají) a modrou oblast plnou písmenek s diakritikou a dalších symbolů. ISO-8859-1 je díky tomu zpětně kompatibilní s ASCII.

f9d06192-08ae-4e84-8ac5-d4f967c1ccdc0fb04408-1abf-4363-8e29-969797d67e61
PÓL jako text ISO-8859-1 a jako skutečné hodnoty bajtů

Kdybychom chtěli v kódování ISO-8859-1 uložit do souboru iso88591.txt slovo PÓL, na disku bude tentokrát ve skutečnosti uložená sekvence bajtů s šestnáctkovými hodnotami:

 50 (P), D3 (Ó), 4C (L)

Pokud bychom takto uložený text otevřeli na systému, který podporuje jen americké ASCII (a jednotlivé znaky čte jako celé bajty), zobrazí se pouze PL. P a L totiž mají v obou tabulkách stejné adresy a znak Ó ASCII nezná, protože se nachází až na 211. pozici – daleko nad jeho horní hranicí 128.

Chybí české háčky

Chybělo málo a kódování ISO-8859-1 by stačilo celému západnímu světu včetně zemí střední Evropy. Když se ale podíváte lépe, v tabulce budete marně hledat třeba znaky s českými háčky.

Sada ISO-8859-1 nemá na seznamu třeba Ž, no a kvůli tomu v ní nedokážeme uložit slovo ŽIRAFA.

Západoevropskou tabulku ISO-8859-1 proto doplnila ještě velmi podobná středoevropská varianta ISO-8859-2. Ukážeme si ji v další kapitole

Pokračování 5 / 7

Středoevropská znaková sada ISO-8859-2

Kódovací tabulka ISO-8859-2 pochází ze stejné rodiny standardů Mezinárodní organizace pro normalizaci ISO, a tak opět obsahuje původní americký základ ASCII.

1c5d31c5-99ab-4436-9073-0ab71bdb563a
Znaková sada ISO-8859-2

Na vyšších pozicích pak ISO-8859-2 eviduje ty znaky s diakritikou z ISO-8859-1, které používáme i v našich jazycích, no a ty, které nepoužíváme, doplňuje vlastními. A protože jich máme fakt hodně, přišli jsme kvůli tomu v této tabulce třeba o znaky © a ®.

Podstatné je ale to, že už máme po ruce konečně velké Ž na 174. pozici, a tak zkusme v ISO-8859-2 uložit slovo ŽIRAFA do souboru iso88592.txt. V Listeru bychom tentokrát měli spatřit sekvenci bajtů s šestnáctkovými hodnotami:

 AE (Ž), 49 (I), 52 (R), 41 (A), 46 (F), 41 (A)

Kdyby v našem kulturním okruhu a latince existovaly do nástupu systému Unicode jen tabulky z rodiny ISO-8859, bylo by všechno jednodušší. Znakových sad je ale ve skutečnosti mnohem, mnohem více. Třeba právě z toho důvodu, že v ISO-8859-2 chybí ty zatracené symboly © a ®.

486a165f-7c1e-4a5d-baac-5a87650f9e72764f5d89-6ffd-4787-bb8d-df7255a56f39
ŽIRAFA jako text ISO-8859-2 a jako skutečné hodnoty bajtů

V Microsoftu je chtěli mít kvůli jednotě Windows napříč jazyky, a tak tabulku ISO-8859-2 i hromadu dalších převálcoval jejich vlastní formát Windows-1250/ANSI.

A tady už začíná pořádné peklíčko! Windows-1250 si představíme v další kapitole a uvidíte, co udělá s naší nebohou žirafou

Pokračování 6 / 7

Středoevropská znaková sada Windows-1250

Středoevropská tabulka Windows-1250/ANSI se oproti ISO-8859-2 liší především v tom, že až na pár výjimek vyplňuje oblast mezi 128. až 159. znakem, která se v ISO nepoužívá.

windows-1250b.png
Znaková sada Windows-1250

Díky tomu se našlo místo na české uvozovky, znak eura a hromadu dalších lumpáren. A navíc si na obrázku výše všimněte, že už máme k dispozici opět ©®. Sedmibitová zelená oblast 0. až 127. znaku zůstává i zde kompatibilní s ASCII.

Uložíme-li v Poznámkovém bloku slovo ŽIRAFA ve formátu Windows1250/ANSI, v Listeru bychom nyní měli vidět řadu surových bajtů:

 8E (Ž), 49 (I), 52 (R), 41 (A), 46 (F), 41 (A)

6b1bdc01-4703-46d0-bbbd-0da6ab23b26f
ŽIRAFA v kódování Windows-1250/ANSI

Není ŽIRAFA jako ®IRAFA

Kvůli rozšíření modré oblasti nahoru se nám mnohé znaky zvláště s českou diakritikou přeskládaly, takže když se naopak pokusím otevřít soubor z předchozí kapitoly kódovaný v ISO-8859-2, uvidím ®IRAFA.

Jak je to možné? Je to prosté, Poznámkový blok totiž podporuje jen kódování Unicode (o něm později) a právě svoji rodinu tabulek Windows/ANSI.

5529cb1c-ba10-4886-945d-f15c654d0b49
Poznámkový blok podporuje jen kódování Unicode a Windows (ANSI)

Je tedy zřejmé, že sady ISO-8859-2 a Windows-1250 se liší mimo jiné právě v adrese znaku Ž. Tabulka níže ukazuje rozdíly obou systémů. Černé znaky jsou v obou tabulkách stejné a ty šedé se liší a na těchto adresách je najdeme jen ve Windows-1250.

7f243e78-aef5-44f8-8851-705f488d0cae
Windows-1250 a zašedlé adresy jeho znaků, které v ISO-8859-2 představují něco jiného

Právě tento rozdíl v posledních dvou dekádách způsobil problémy třeba při zobrazování komunitou vytvořených titulků k filmům, které byly jednou kódované ve formátu ISO, podruhé ve Windows/ANSI – prostě tak, jaký software k jejich tvorbě a na jaké platformě titulkář zrovna použil a jakou tabulku ve výchozím stavu zvolil samotný přehrávač videa na PC, televizoru atp.

Dost bylo osmibitů

Kódovací tabulky ISO-8859 a Windows/ANSI vznikly z dnešního úhlu pohledu v dřevních dobách osobních počítačů, a tak jim podobný myšmaš nemějme za zlé. Podstatné je to, že se snad už brzy stanou jen vzpomínkou na minulost.

A to hlavně díky masivnímu nástupu internetu, který je dostupný nejen v Los Angeles a na návsi v Kozojedech, ale také Thajsku, Japonsku, subsaharské Africe a v ořezané podobě dokonce i v Číně a Rusku.

Na scéně se proto rázem objevily desítky a stovky nových znaků a symbolů z všemožných abeced, o jejichž existenci běžný smrtelník neměl ani tušení, no a v posledních letech nakonec také emoji.

Abychom dokázali uložit i takové pitomosti jako třeba znaky nemrtvé ženy a muže – tedy🧟‍♀️🧟‍♂️ –, osmibitové kódovací tabulky s 256 možnými adresami nám už rozhodně stačit nebudou.

A tak se zrodil Unicode a rodina UTF, kterými v závěrečné kapitole uzavřeme tento článek

Pokračování 7 / 7

The Unicode Standard

Co kdybychom namísto omezených lokálních znakových sad vyrobili jednu společnou, která bude evidovat úplně všechny myslitelné tisknutelné symboly světa?

Tedy, raději ne úplně všechny myslitelné – o tom, kdo se dostane na seznam, rozhodne spíše nějaká důvěryhodná autorita, ve které budou mít podíl všichni klíčoví hráči.

3f25d6b6-879e-4d5f-99e1-fccc949d988c
Členové konsorcia Unicode s volebním právem

A tak se zrodila obří tabulka Unicode a stejnojmenná neziskovka, jejíž pracovní skupiny rok co rok vybírají, co všechno bude na seznamu. Členy konsorcia najdete zde a nechybí mezi nimi velká čtyřka Apple, Google, Meta a Microsoft. Pokud chcete vlastní emoji, napište jim na podporu.

Prostě přidáme další bity

Poslední verze Unicode 15.1 z loňského roku čítá úctyhodných 149 913 znaků, které se nám už do osmibitového kódování rozhodně nevejdou, a tak se prostě šířka adresy znaku roztáhla až na 32 bitů (4 bajty). Prvních 256 znaků má ale stejnou adresu jako ISO-8859-1, čili jsou opět zpětně kompatibilní.

e2dac93d-059b-45f6-86b8-c7a3b17f4efa
Prvních 512 znaků Unicode. Znaky do 128. pozice mají stejnou adresu jako ASCII (zeleně) a do 256. pozice jako ISO-8859-1 (modře). Na růžové znaky už potřebujeme více bitů než dosavadních osm

Celou tabulku Unicode si tentokrát neukážeme, shořel by vám totiž počítač, a spokojíme se jen s prvními 512 znaky. Zároveň už místo dekadického čísla vypisujeme adresu (pořadí) v šestnáctkovém zápisu a v šestnáctibitové šířce.

Ani šestnáct bitů (tedy dva bajty) by nám ale pro celý Unicode nestačilo, protože 216 pojme jen 65 536 možností. Celý rozsah je ke všemu rozdělen na tematické bloky, takže emoji jsou ještě mnohem výše. Naše generická bezpohlavní zombie je až na 129503. pozici (1F9DF) a nemrtvého muže či ženu z ní udělají až další modifikátory ve formě nám neviditelných dodatečných znaků.

ŽIRAFA v UTF-16

Unicode se v praxi kóduje hned několika způsoby – zpravidla některým ze systémů UTF (Unicode Transformation Format). Jeden z nich se jmenuje UTF-16 a po dnešní intelektuální masáži už nejspíše tušíte, že bude ukládat Unicode v šestnáctibitovém formátu stejně jako ve výřezu tabulky výše.

c7d9489d-48b8-41a8-903f-121383f84e07
ŽIRAFA v UTF-16 s šestnáctibitovou šířkou znaku

Znak A, který má v osmibitovém ISO-8859/Windows hexadecimální adresu 41 a zabírá tedy jeden bajt, bude mít v UTF-16 adresu 0041 a zabere dva bajty. Písmeno Ž má zase v Unicode adresu 17D (vešlo se nám i do našeho výřezu), takže slovo ŽIRAFA z předchozích kapitol by v UTF-16 a šestnáctkovém zápisu vypadalo takto:

017D (Ž), 0049 (I), 0052 (R), 0041 (A), 0046 (F), 0041 (A).

V souboru uloženém jako UTF-16 v Poznámkovém bloku Windows nicméně na začátku narazíme ještě na symbol FEFF, což je tzv. BOMByte Order Mark. Dává programu vědět, v jakém pořadí se mají jednotlivé dvojbajty číst. Jestli zleva, nebo zprava.  

Suma sumárum, nebohá ŽIRAFA sežrala včetně hlavičky BOM 14 bajtů! V kódování ISO-8859-2 a Windows-1250 by to bylo jen 6 bajtů!

UTF-8

Pokud by šlo jen o jednu žirafu, až takový problém by to nebyl, texty jsou ale zpravidla mnohem delší a v textovém HTML je hlavně naprogramovaný celý World Wide Web.

Všechny webové stránky kódované v UTF-16, kde každý Unicode znak zabírá nejméně 16 bitů (znaky z vyšších adres pak 2×16 bitů), by proto byly dvakrát rozměrnější!

Není tedy divu, že byl nástup Unicodu kvůli tehdejšímu internetovému připojení a slabším počítačům zprvu relativně pomalý a vše se změnilo až díky UTF-8, které je dnes prakticky synonymem kódování textu na webu i na mnoha operačních systémech.

Určitým hybridem už zůstávají snad jen Windows, které ještě stále všemožně kombinují UTF-16 s UTF-8. V obou případech je to tentýž Unicode ve smyslu pořadí znaku v tabulce, ale jinak kódovaný.

72742c34-1080-4eca-988c-e71e54bfc98c
ŽIRAFA v úsporném UTF-8 s variabilní šířkou znaků Unicode

UTF-8 používá variabilní bitovou šířku znaku. Prvních 128 znaků zabere jeden bajt, no a jak se v Unicodu posouváme výše, budou to dále dva, pak tři a čtyři. Aby dokázal čtecí program zjistit, kde začínají a končí znaky, když mají proměnlivou šířku, UTF-8 používá speciální bitové vzory identifikující začátky vyšších bajtů. Jejich smysl je už ale nad rámec tohoto článku, a tak vás odkážu třeba na Wikipedii.

Suma sumárum, když uložím slovo ŽIRAFA v UTF-8 a opět se podívám do Listeru, tentokrát už zabírá jen 7 bajtů – pouze o jeden více než v ISO-8859-2 a Windows-1250:

C5BD (Ž), 49 (I), 52 (R), 41 (A), 46 (F), 41 (A)

(Šestnáctkový zápis C5BD odpovídá na adrese 17D pro Unicode znak Ž po „bitovém označkování“ pro identifikaci, kde už začíná zase znak I s adresou 49)

a832862a-aa27-4215-9c07-d5d27ee0fec3
Způsob variabilního kódování znaků UTF-8 na české Wikipedii

Uf, v nejlepším je třeba přestat, ať nikomu nepraskne hlava, příště ale získaných znalostí využijeme v praxi, budeme totiž pomocí UTF-8 kreslit české znaky na malý displej připojený k Arduinu.

Určitě si přečtěte

Články odjinud