Wuwejův zápisník

Jak fungují čárové kódy

28.06.2006 22:40, Wu | praktické | komentáře -

Napadlo vás někdy zkoumat, jak jsou vlastně v čárových kódech uložené informace? Mě ano, takže jsem měřil šířky černých čar, zjistil že jsou možné až čtyři velikosti a uvažoval o čtyřkové soustavě. Nikam to nevedlo, tak jsem to vzdal. Až Nová mamutí kniha techniky mě navedla na správnou stopu. Smysl mají totiž nejen černé čáry, ale i bílé pruhy mezi nimi.

Všechno je to ve dvojkové soustavě, černé čáry kódují jedničky, relativní tloušťka čáry určuje jejich počet. Bílé mezery kódují nuly, o tloušťkách čar platí totéž.

čárový kódTakže jsem si vzal čárový kód na zmíněné knize a začal dekódovat. Nejtenčí čáru vezmu jako měřítko, pak máme na začátku 101 (tenká černá, tenká bílá, tenká černá), následuje 0 (tenká bílá), pak 111 (černá o trojnásobné síle) atd. atd. atd. Mamutí kniha ještě zmínila, že na začátku a na konci kódu je identifikační sekvence 101 a uprostřed dělící 01010 (to jsou ty delší dvojčáry) a že se pro každé písmeno používá 7 bitů.

první polovina kódu pak vypadá takhle (bez okrajové a dělící sekvence):
0 111 0 11 000 1 00 1 000 1 00 1 000 11 0 1 00 1 000 1 00 1 00 11

Je to sedmibitový kód, takže přeřadíme do skupin po sedmi
0111011 0001001 0001001 0001101 0010001 0010011

A teď se to pokusíme převést do čísel. Máme nápovědu, na čárovém kódu je to číslo dole napsané normálně, takže cílem je 7 8 8 0 7 2 . Prostý převod binárního čísla na dekadické nepomůže (0111011 je decimálně 59, ASCII znak s číslem 59 je středník, to také ne), takže nezbývá než začít hledat na Internetu.

Čárových kódů je spousta, jestli jsem to vyčetl ze stránek Morovia library dobře, pak běžně používaný kód na zboží je EAN-13 (galerie GS1 BarCodes to potvrzuje).

EAN-13 je navržen společností International Article Numbering Association (EAN) a sestává ze čtyř oblastí - systém číslování, kód výrobce, kód produktu a kontrolní součet. Obvykle je systém číslování vytištěn vlevo a kontrolní součet vpravo od čárového kódu. Samotný kód začíná sekvencí 010, uprostřed je předělen sekvencí 01010 a končí opět 010. A teď to kódování - v levé části od předělu začínají všechna čísla mezerou (0) a končí čárou (1), v pravé je to naopak. Vlevo se používá kódovací schéma A nebo B, vpravo C. Tabulka znaků (zdroj):

číslokód Akód Bkód C
0000110101001111110010
1001100101100111100110
2001001100110111101100
3011110101000011000010
4010001100111011011100
5011000101110011001110
6010111100001011010000
7011101100100011000100
8011011100010011001000
9000101100101111110100

Nyní už je to jasné, dekódování odpovídá. Jen mi není jasné, proč se některá písmena kódují schématem A a jiná schématem B. Možná v tom hraje roli paritní kontrola.

Aktualizace 14.11.2007: Díky komentáři od Radose, který mě odkázal na stránky firmy Gaben, jsem se dozvěděl i proč se některá písmena kódují tak a jiná onak. Dokonce i v tom je kód! Šestiprvková kombinace znaků A a B vytváří znak sedmý, úvodní číslici...

Aktualizace 22.9.2009: Ziggy do komentářů doplnil vynikající odkaz - generátor čárových kódů! vyzkoušejte.

12345
1151527200000

Kategorie

Informace

Kontakt

Sledujte také

Archiv

STRÁNKY ARCHIVOVÁNY NÁRODNÍ KNIHOVNOU ČR

CBDB.cz – Databáze knih a spisovatelů, knihy online