algorytm.org

EAN-2



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

EAN-2
Ocena użytkowników:***** / 147
SłabyŚwietny 
Wpisany przez Tomasz Lubiński, 27 grudnia 2005 19:04

Kod EAN-2 jest kodem uzupełniającym kod EAN-8, EAN-13, UPC-A bądź UPC-E. Nigdy nie występuje on sam a jedynie w parze z którymś ze wspomnianych. Często zdarza się, że przy jego pomocy oznacza się kolejny numer miesięcznika w roku. Kod kreskowy EAN-2 składa się z 20 białych i czarnych prążków opisujących dodatkowe dwie cyfry. Przyjmujemy, że 1 oznacza pasek ciemny, a 0 oznacza pasek jasny.EAN

    Kod kreskowy EAN-2 ma następującą strukturę:
  • lewe paski ochronne (ang. start sentinel) kodowane są jako: 1011
  • cyfra 1 kodowana jest lewostronnie
  • separator cyfr kodowany jako: 01
  • cyfra 2 kodowana jest lewostronnie

cyfrakodowanie lewostronnekodowanie
prawostronne*
nieparzysteparzyste
0000110101001111110010
1001100101100111100110
2001001100110111101100
3011110101000011000010
4010001100111011011100
5011000101110011001110
6010111100001011010000
7011101100100011000100
8011011100010011001000
9000101100101111110100
*kodowanie prawostronne nie jest używane dla kodu EAN-2


Czy w kodowaniu lewostronnym wybrać kodowanie parzyste czy nieparzyste decyduje suma kontrolna. Jest ona w ten sposób kodowana w sposób niejawny. Suma kontrolna kodu EAN-2, jest liczbą jaką tworzy dany kod podzieloną przez modulo 4. Jaki sposób kodowania wybrać w zależności od wartości sumy kontrolnej rozpisane jest w tabeli poniżej (N - kodowanie nieparzyste, P - kodowanie parzyste).

Suma
kontrolna
Dodatkowa cyfra
12
0NN
1NP
2PN
3PP


Przykład:

Zbudujemy teraz kod kreskowy dla kodu 05
Dzielimy kod modulo 4 w celu obliczenia sumy kontrolnej.
05 mod 4 = 1
Z tabeli sposobu kodowania dodatkowych cyfr odczytujemy, że dla sumy kontrolnej równej 1, pierwszą cyfrę kodujemy nieparzyście, natomiast drugą przyście.
  • lewe paski ochronne (ang. start sentinel) kodowane są jako: 1011
  • 1 cyfra to 0, kodujemy ją lewostronnie nieparzyście: 0001101
  • separator cyfr: 01
  • 2 cyfra to 5, kodujemy ją lewostronnie parzyście: 0111001

Zatem gotowy kod kreskowy to:
10110001101010111001
Co po zapisaniu w wersji graficznej wygląda następująco (obliczony kod EAN-2 uzupełniono poniżej kodem EAN-13, gdyż jak wspomniano już EAN-2 nigdy nie występuje sam, a jedynie jako uzupełnienie innych kodów):

EAN 13EAN 2

Przykład w JavaScript:

EAN2

Implementacje
AutorJęzyk
programowania
KomentarzOtwórzPobierzOcena
Tomasz LubińskiC#Microsoft Visual Studio 2010
.cs
.cs
***** / 0
Tomasz LubińskiC/C++Borland Builder 6
.cpp
.cpp
***** / 1
Tomasz LubińskiDelphi/PascalBorland Delphi 5
.pas
.pas
***** / 2
Tomasz LubińskiJava
.java
.java
***** / 2
Tomasz LubińskiJavaScriptFirefox 3.0+, Safari 3.0+, Chrome 3.0+, Opera 9.5+, IE 9.0+
.js
.js
***** / 0
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język
programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie

Poprawiony: 28 sierpnia 2012 20:22
Dodaj komentarz