QR kód: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Informační vrstva: jen oprava skloňování sool.omonovými
oprava výpočtu
Řádek 253:
 
=== Překlad mezi zprávou a bitovým obsahem ===
[[Bit]]ová zpráva, která je předávána v informační vrstvě vzniká „[[komprimace|komprimací]]“ originální zprávy. Zpráva (může být tvořena několika) samostatně kódovanými úseky. Každý úsek začíná čtyřbitovou identifikací režimu kódování. Nejkompaktnější je režim numerický (identifikace 1) umožňující zaznamenat [[dekadická číslice|dekadické číslice]], s tím, že tři číslice (1000) kóduje pomocí 10 bitů (konec zprávy je kódován minimálním nutným počtem bitů). Následuje co do kompaktnosti režim alfanumerický (identifikace 2), umožňující kódovat i velká písmena, znaky $%*+-./: a mezeru. Těchto 45 znaků je po dvojicích (20452025) kódováno pomocí 11 bitů (konec zprávy je kódován minimálním nutným počtem bitů). Bytový režim (identifikace 4) ukládá osmice bitů, existují i další varianty. Za každou identifikací kódování je oznámena délka úseku zprávy kódovaná v daném režimu. Počet bitů nutných k určení této délky záleží jak na režimu, tak na verzi QR kódu (aby byla zajištěna dostatečná kapacita). Úseky zprávy na sebe bitově navazují. Pokud zpráva končí před vyčerpáním kapacity kódu, a zbývá více než byte, je doplněna čtveřicí nul (identifikace režimu konce zprávy), pak je doplněna nulami na celý byte a pak střídavě pomocí 0xEC11 dokud se byty do prostoru pro zprávu vejdou. Typicky je snahou zvolit co nejmenší verzi, do níž se zpráva vejde. Optimální délku bitové zprávy a způsob rozdělení na jednotlivé úseky je možno získat technikou [[Dynamické programování|dynamického programování]] (stačí si při postupném přidávání znaků pamatovat optimální délku bitového obsahu pro každý možný způsob kódování posledního úseku).
{|class="wikitable"
|+ Počet bitů kódujících délku úseku zprávy