Wpisany przez Tomasz Lubiński,
08 grudnia 2005 19:07
By kod EAN-8 mógł zostać automatycznie "przeczytany" przez urządzenia skanujące musi zostać przetworzony do postaci kodu kreskowego.
Kod kreskowy EAN-8 składa się z 67 białych i czarny prążków znajdujących się jeden przy drugim. Przyjmujemy, że 1 oznacza pasek ciemny, a 0 oznacza pasek jasny.
Odmienny sposób kodowania pasków z lewej i prawej strony, pozwala stwierdzić czy kod czytany jest normalnie czy "do góry nogami". Poniżej przedstawiono tabelę kodowania lewo i prawostronnego.
Zbudujemy teraz kod kreskowy dla kodu 55123457
Zatem gotowy kod kreskowy to:
1010110001011000100110010010011010101000010101110010011101000100101
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.
- Kod kreskowy ma następującą strukturę
- lewe paski ochronne (ang. start sentinel) kodowane są jako: 101
- cyfry 1-4 kodowane są lewostronnie
- środkowe paski ochronne (ang. central sentinel) kodowane jako: 01010
- cyfry 5-8 kodowane są prawostronnie
- prawe paski ochronne (ang. stop sentinel) kodowane są jako: 101
Odmienny sposób kodowania pasków z lewej i prawej strony, pozwala stwierdzić czy kod czytany jest normalnie czy "do góry nogami". Poniżej przedstawiono tabelę kodowania lewo i prawostronnego.
cyfra | kodowanie lewostronne | kodowanie prawostronne |
0 | 0001101 | 1110010 |
1 | 0011001 | 1100110 |
2 | 0010011 | 1101100 |
3 | 0111101 | 1000010 |
4 | 0100011 | 1011100 |
5 | 0110001 | 1001110 |
6 | 0101111 | 1010000 |
7 | 0111011 | 1000100 |
8 | 0110111 | 1001000 |
9 | 0001011 | 1110100 |
Przykład:
Zbudujemy teraz kod kreskowy dla kodu 55123457
- lewe paski ochronne (ang. start sentinel) kodowane są jako: 101
- 1 cyfra to 5, kodujemy ją lewostronnie: 0110001
- 2 cyfra to 5, kodujemy ją lewostronnie: 0110001
- 3 cyfra to 1, kodujemy ją lewostronnie: 0011001
- 4 cyfra to 2, kodujemy ją lewostronnie: 0010011
- środkowe paski ochronne (ang. central sentinel) kodowane jako: 01010
- 5 cyfra to 3, kodujemy ją prawostronnie: 1000010
- 6 cyfra to 4, kodujemy ją prawostronnie: 1011100
- 7 cyfra to 5, kodujemy ją prawostronnie: 1001110
- 8 cyfra to 7, kodujemy ją prawostronnie: 1000100
- prawe paski ochronne (ang. stop sentinel) kodowane są jako: 101
Zatem gotowy kod kreskowy to:
1010110001011000100110010010011010101000010101110010011101000100101
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 | 21,38 | 17,31 |
1 | 0,9 | 24,06 | 19,48 |
2 | 1,0 | 26,73 | 21,64 |
3 | 1,1 | 29,40 | 23,80 |
4 | 1,2 | 32,08 | 25,97 |
5 | 1,4 | 37,42 | 30,29 |
Przykład w JavaScript:
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Tomasz Lubiński | C# | Microsoft Visual Studio 2010 | .cs | .cs | ***** / 0 |
Tomasz Lubiński | C/C++ | Borland Builder 6 | .cpp | .cpp | ***** / 1 |
Tomasz Lubiński | Delphi/Pascal | Borland Delphi 5 | .pas | .pas | ***** / 1 |
Tomasz Lubiński | Java | .java | .java | ***** / 1 | |
Tomasz Lubiński | JavaScript | Firefox 3.0+, Safari 3.0+, Chrome 3.0+, Opera 9.5+, IE 9.0+ | .js | .js | ***** / 0 |
Poprawiony: 29 sierpnia 2012 20:25