Čárové a 2D kódy jsou grafické značky sloužící k automatické identifikaci a ukládání dat, které lze rychle načíst pomocí čteček, kamer nebo telefonu. Čárové kódy (1D) obsahují informace v jedné ose, obvykle jen čísla a základní znaky, zatímco 2D kódy (např. QR nebo Data Matrix) ukládají data ve dvou osách a pojmou více informací, včetně textu či odkazů. Používají se v logistice, obchodu, zdravotnictví, dopravě a dalších odvětvích pro sledování zboží, ověřování totožnosti a přístup k digitálním informacím.

Teorie čárových kódů
Symbol čárového kódu se skládá z určitého počtu čar a mezilehlých mezer. Před a za symbolem musí být klidová zóna - prázdné místo určité šířky bez jakéhokoliv potisku. Symbol začíná znakem start, pak následují vlastní data s případným kontrolním součtem a na konci je znak stop.
Šířka čar a mezer, jakož i jejich počet, je dán specifikací symboliky příslušného kódu. Termín "symbolika" se používá pro popis pravidel, specifikujících způsob, jakým se kódují data do čar a mezer čárových kódů. Je to něco podobného, jako termín "jazyk". Komunikují-li mezi sebou lidé psanou nebo mluvenou řečí, mohou používat jakýkoliv jazyk za předpokladu, že jej obě strany znají a dovedou jej používat. Stejná koncepce je použita u čárových kódů.
Existují dva základní typy symbolik čárových kódů: souvislé a diskrétní. Diskrétní čárové kódy začínají čárou, končí čárou a mezi jednotlivými znaky se nachází meziznaková mezera. Souvislé čárové kódy začínají čárou, končí mezerou a nemají meziznakové mezery. Která symbolika se v dané konkrétní aplikaci použije, závisí na charakteru dat.
K nejpoužívanějším symbolikám čárových kódů patří:
Code 39 a Code 39 Mod 43
U.P.C. A
UPC E0 a UPC E1
EAN 13 a EAN 8
Code 93
Interleaved 2/5 a Interleaved 2/5 Mod 10
Code 128
Codabar
MSI


U.P.C E0 je variantou kódu UPC A s potlačením nul. První znak této symboliky – znak systému číslování – je vždy 0 (nula). Ostatní znaky mají stejný význam jako u UPC A. Pro správné číslo výrobku platí následující čtyři pravidla:
- Jsou-li poslední 3 číslice v čísle výrobce 000, 100 nebo 200, jsou platná čísla výrobku 00000 až 00999.
- Jsou-li poslední 3 číslice v čísle výrobce 300, 400, 500, 600, 700, 800 nebo 900, jsou platná čísla výrobku 00000 až 00099.
- Jsou-li poslední 2 číslice v čísle výrobce 10, 20, 30, 40, 50, 60, 70, 80 nebo 90, jsou platná čísla výrobku 00000 až 00009.
- Jestliže číslo výrobce nekončí nulou, jsou platná čísla výrobku 00005 až 00009.
U.P.C. E1 je také numerický kód pevné délky a jeho typické použití je pro zboží na regálech v maloobchodě. Délka vstupního řetězce je 6 číslic.









Princip kódování znaků do čárových kódů si předvedeme na velmi jednoduchém kódu Industrial 2/5.
Jedná se o čistě numerický kód proměnné délky, diskrétní.
Je tvořen znakem start, příslušným počtem datových znaků (číslice 0 až 9) a znakem stop.
Kód každého znaku je tvořen 5 čarami, z nichž jsou 3 úzké a 2 široké.
Poměr šířky široké a úzké čáry je 3:1.
Mezery nenesou žádnou informaci a slouží jen k oddělení čar.
Převod znaků do čárových kódů se provádí podle následující kódovací tabulky.
Hodnota 1 znamená širokou čáru (3 moduly), hodnota 0 znamená úzkou čáru (1 modul):
Kódovací tabulka kódu Industrial 2/5 | |||||
---|---|---|---|---|---|
Znak | 1.čára | 2.čára | 3.čára | 4.čára | 5.čára |
0 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
2 | 0 | 1 | 0 | 0 | 1 |
3 | 1 | 1 | 0 | 0 | 0 |
4 | 0 | 0 | 1 | 0 | 1 |
5 | 1 | 0 | 1 | 0 | 0 |
6 | 0 | 1 | 1 | 0 | 0 |
7 | 0 | 0 | 0 | 1 | 1 |
8 | 1 | 0 | 0 | 1 | 0 |
9 | 0 | 1 | 0 | 1 | 0 |
start | 1 | 1 | 0 | ||
stop | 1 | 0 | 1 |
Zakódujeme-li číslo "01234", bude mít výsledný symbol čárového kódu tento vzhled (pro názornost jsou sousední znaky výškově posunuty):

Kódování znaků do složitějšího čárového kódu si předvedeme na kódu EAN 13. Je to numerický kód pevné délky.
Obsahuje dva stejné okrajové znaky (start/stop), dělicí znak a 13 numerických znaků (číslice 0 až 9).
Symbol čárového kódu EAN 13 najdete na obalu téměř každého zboží, které si zakoupíte v obchodě. Symbol bývá často doplněn "lidsky čitelnými" číslicemi, které uvádí, co je vlastně symbolem čárového kódu zakódováno. Pokud jsou první tři číslice 859, jedná se o zboží, vyrobené v České republice.
Nosičem informace v kódu EAN 13 jsou čáry i mezery. Mohou mít různou šířku, která je ale vždy násobkem šířky nejužšího elementu. Šířka nejužšího elementu představuje základní délkovou jednotku. Každý zakódovaný znak má v symbolu čárového kódu EAN 13 délku přesně 7 základních jednotek.
Na základě pevné délky kódu znaku (7 jednotek) byly vytvořeny pro kódování číslic 0 až 9 tři znakové sady, pojmenované A, B a C. Znakové sady jsou uvedeny v následující tabulce. Symbol čárového kódu EAN 13 je uprostřed rozdělen dělicím znakem na dvě části, zvané pole. První pole je vlevo od dělicího znaku, druhé pole je vpravo.
První pole
Pokud by byly všechny kódy brány z jedné znakové sady, bylo by možno do každého pole zakódovat 6 znaků. Podíváte-li se ale na vytištěný symbol EAN 13, uvidíte, že v prvním (levém) poli je 7 znaků.
Je zde totiž použita finta, která umožní do tohoto pole protlačit ještě jeden znak tím, že se pro kódování nepoužije jen jedna znaková sada, ale použijí se dvě. Dělá se to proto, že do prvního pole je třeba umístit 7 znaků (kód země a kód výrobce).
První číslice kódu země není přímo reprezentována čárovým kódem, ale vyplývá z označení sad, z nichž se berou kódy pro 2. až 7. číslici, tj. šestici číslic v prvním poli. Pro zdůraznění této anomálie se v "lidsky čitelné" numerické reprezentaci symbolu čárového kódu píše první číslice vlevo od levého okrajového znaku a ne spolu s ostatními šesti číslicemi uvnitř prvního pole.
Česká republika má přidělen kód země 859, první číslice je tedy 8, ale v prvním poli budou kódy číslic 5, 9 a další 4 číslice patřící k označení kódu výrobce. Jak vyplývá z následující tabulky, budou v našem případě brány kódy šesti znaků v prvním poli ze znakových sad A, B, A, B, B, A. Dekodér čárového kódu pak z této skutečnosti odvodí, že první číslicí má být číslice 8.
Dekódování první číslice
Číslice | Znakové sady | Číslice | Znakové sady |
---|---|---|---|
0 | AAAAAA | 5 | ABBAAB |
1 | AABABB | 6 | ABBBAA |
2 | AABBAB | 7 | ABABAB |
3 | AABBBA | 8 | ABABBA |
4 | ABAABB | 9 | ABBABA |
Druhé pole
V tomto poli je zakódováno číslo výrobku (5 číslic) a znak kontrolního součtu (1 číslice). Všechny znaky jsou zde kódovány ze znakové sady C.
Znak kontrolního součtu vypočteme tak, že všech 12 číslic podrobíme následující matematické operaci. Stejnou operaci pak provede po sejmutí čárového kódu dekodér čtecího zařízení a dospěje-li ke stejnému výsledku, bude pokládat čtení za úspěšné.
Výpočet:
- Sečtou se hodnoty číslic na sudých pozicích a výsledek se vynásobí třemi.
- Sečtou se hodnoty číslic na lichých znakových pozicích.
- Sečtou se obě výsledné hodnoty a výsledek se zaokrouhlí nahoru na celé desítky.
- Kontrolní číslice je rozdíl zaokrouhlené a původní hodnoty.
Příklad:
Výpočet kontrolní číslice pro řetězec čísel 859123412345
- Součet sudých pozic: 5+1+3+1+3+5 = 18
- Vynásobení třemi: 18 * 3 = 54
- Součet lichých pozic: 8+9+2+4+2+4 = 29
- Součet obou hodnot: 54 + 29 = 83
- Zaokrouhlení nahoru: 90
- Rozdíl hodnot: 90 - 83 = 7
- Kontrolní číslice: 7
Pro kód EAN 13 se tedy bude kódovat řetězec čísel 8591234123457.
Symbol čárového kódu bude mít tento tvar (pro názornost je kód podložen červeným rastrem o šířce 1 elementu).
S = okrajové znaky start/stop, D = dělicí znak.


Zásadní změnu v této oblasti přináší aplikace „dvourozměrných“ symbolik čárových kódů, které kódují alfanumerické znaky do maticové struktury buněk.
Na příklad v tomto symbolu 2D kódu QR CODE je zakódováno 80 alfanumerických znaků:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
123456789012345678901234
ABCDEFGHIJKLMNOPQRSTUVWXYZ1234
K běžným symbolikám 2D kódů patří:
- PDF417
- DataMatrix
- QR Code
- Code 49
- Code 16K
Všechny 2D kódy disponují možností automatické korekce chyb, takže je možno přečíst i špatně vytištěné nebo znečištěné symboly.



