|
|
Written by Tomasz Lubiński
|
|
Thursday, 27 October 2005 21:40 |
|
There are no translations available.
By kod EAN-13 mógł zostać automatycznie "przeczytany" przez urządzenia skanujące musi zostać przetworzony do postaci kodu kreskowego. Sposób kodowania jest na pierwszy rzut oka nieco skomplikowany a to wszystko za sprawą kodu UPC-A, z którym musiał być on zgodny. Jest on 12-cyfrowy a EAN-13 jest 13-cyfrowy. Trzeba było zatem zakodować w jakiś sprytny sposób 1 cyfrę, ale o tym za chwilę.
Kod kreskowy EAN-13 składa się z 95 białych i czarny prążków znajdujących się jeden przy drugim. Przyjmujemy, że 1 oznacza pasek ciemny, a 0 oznacza pasek jasny.
Kod kreskowy ma następującą strukturę
- lewe paski ochronne (ang. start sentinel) kodowane są jako: 101
- cyfry 2-7 kodowane są lewostronnie
- środkowe paski ochronne (ang. central sentinel) kodowane jako: 01010
- cyfry 8-13 kodowane są prawostronnie
- prawe paski ochronne (ang. stop sentinel) kodowane są jako: 101
Poniżej przedstawiono tabelę kodowania lewo i prawostronnego. Jak zauważysz w kodowaniu lewostronnym występuje kodowanie nieparzyste i parzyste, będzie ono potrzebne do zakodowania wspomnianej już dodadkowej liczby w kodzie EAN-13. Nazwa kodowania parzystego i nieparzystego bierze się z liczby jedynek w kodzie, jeżeli jest ona nieparzysta to mamy do czynienia z kodem nieparzystym. Zwróć też uwagę że po prawej stronnie wyszstkie liczby zakodowane są parzyście - pozwala to na sprawdzenie czy kod nie jest czytany do góry nogami podczas jego skanowania.
| cyfra | kodowanie lewostronne | kodowanie prawostronne |
| nieparzyste | parzyste |
| 0 | 0001101 | 0100111 | 1110010 |
| 1 | 0011001 | 0110011 | 1100110 |
| 2 | 0010011 | 0011011 | 1101100 |
| 3 | 0111101 | 0100001 | 1000010 |
| 4 | 0100011 | 0011101 | 1011100 |
| 5 | 0110001 | 0111001 | 1001110 |
| 6 | 0101111 | 0000101 | 1010000 |
| 7 | 0111011 | 0010001 | 1000100 |
| 8 | 0110111 | 0001001 | 1001000 |
| 9 | 0001011 | 0010111 | 1110100 |
Czy w kodowaniu lewostronnym dla kolejnych cyfr kodu EAN-13 wybrać kodowanie parzyste czy nieparzyste decyduje pierwsza cyfra. Jest ona w ten sposób kodowana w sposób niejawny. Dokładnie jest to rozpisane w tabeli poniżej (N - kodowanie nieparzyste, P - kodowanie parzyste). Warto tutaj jeszcze wspomnieć, że kod EAN-13 zaczynający się cyfrą 0, jest równoważny UPC-A (przy czym w kodzie UPC-A nie zapisuje się tego rozpoczynającego kod EAN-13 zera).
Wartość pierwszej cyfry | Cyfry kodu EAN-13 |
| 2 | 3 | 4 | 5 | 6 | 7 |
| 0 | N | N | N | N | N | N |
| 1 | N | N | P | N | P | P |
| 2 | N | N | P | P | N | P |
| 3 | N | N | P | P | P | N |
| 4 | N | P | N | N | P | P |
| 5 | N | P | P | N | N | P |
| 6 | N | P | P | P | N | N |
| 7 | N | P | N | P | N | P |
| 8 | N | P | N | P | P | N |
| 9 | N | P | P | N | P | N |
Przykład
Zbudujemy zatem kod kreskowy dla kodu 7215260664210
- lewe paski ochronne (ang. start sentinel) kodowane są jako: 101
- 1 cyfra kodu to 7, zatem według tabeli powyżej do kolejnych cyfr kodowania lewostronnego używać będziemy kodowania N P N P N P
- 2 cyfra to 2, kodujemy ją lewostronnie nieparzyście: 0010011
- 3 cyfra to 1, kodujemy ją lewostronnie parzyście: 0110011
- 4 cyfra to 5, kodujemy ją lewostronnie nieparzyście: 0110001
- 5 cyfra to 2, kodujemy ją lewostronnie parzyście: 0011011
- 6 cyfra to 6, kodujemy ją lewostronnie nieparzyście: 0101111
- 7 cyfra to 0, kodujemy ją lewostronnie parzyście: 0100111
- środkowe paski ochronne (ang. central sentinel) kodowane jako: 01010
- 8 cyfra to 6, kodujemy ją prawostronnie: 1010000
- 9 cyfra to 6, kodujemy ją prawostronnie: 1010000
- 10 cyfra to 4, kodujemy ją prawostronnie: 1011100
- 11 cyfra to 2, kodujemy ją prawostronnie: 1101100
- 12 cyfra to 1, kodujemy ją prawostronnie: 1100110
- 13 cyfra to 0, kodujemy ją prawostronnie: 1110010
- prawe paski ochronne (ang. stop sentinel) kodowane są jako: 101
Zatem gotowy kod kreskowy to:
10100100110110011011000100110110101111010011101010101000010100001011100110110011001101110010101
Co po zapisaniu w wersji graficznej (z wydłużonymi paskami ochronnymi) wygląda nasepująco:

Ze względu na techniczne ograniczenia sprzętu odczytującego symbole kodów kreskowych, ich wielkość musi się mieścić w ściśle określonych przez odpowiednie normy granicach.
Oznaczenie wymiarów S.C. | współczynnik powiększenia | szeroskość | wysokość |
| 0 | 0,8 | 29,83 | 21,00 |
| 1 | 0,9 | 33,56 | 23,63 |
| 2 | 1,0 | 37,29 | 26,26 |
| 3 | 1,1 | 41,02 | 28,89 |
| 4 | 1,2 | 44,75 | 31,51 |
| 5 | 1,4 | 52,21 | 36,76 |
.
|
|
Last Updated on Monday, 31 May 2010 18:43 |
Add comment
|
|
Donate us
Articles
Implementations
Comments
Forum
|