algorytm.org

EAN-8



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-8
Ocena użytkowników:***** / 4
SłabyŚwietny 
Wpisany przez Tomasz Lubiński, 08 grudnia 2005 18:56

Kod EAN-8 (ang. European Article Numbering) służy do oznaczania małych produktów, na których z powodu ograniczonej przestrzeni nie mieści się kod EAN-13. Ze względu na stosunkowo niewielką liczbę kodów EAN-8, przyznaje się go wytwórcy tylko w uzasadnionych przypadkach. Kod ten składa sie z trzech obszarów:
  • 3 pierwsze cyfry - system numerowania, oznaczający kod kraju ew. rodzaj produktu (patrz. tabela poniżej)
  • kolejne 4 cyfry - kod produktu
  • ostatnia cyfra to cyfra kontrolna

system
numerowania
kod
produktu
cyfra
kontrolna
XXXXXXXX


Każda firma może uzyskać kod EAN-8, bez względu na swój kod poroducenta lub produktu EAN-13. Niestety nie można przetłumaczyć kodu EAN-8 na EAN-13.
Kod EAN-8 może być uzupełniony 2 lub 5 cyframi (EAN-2, EAN-5). Dodatkowe cyfry najczęściej używane są w wydawnictwach i czasopismach. Zakodowane dodatkowe cyfry umieszczane są po prawej stronie kodu jako mały dodatkowy kod.
Cyfra kontrolna umożliwia sprawdzenie poprawności danego kodu. Oblicza się ją następująco. Dla identyfikatora EAN-8 wagi przez które mnożymy kolejne cyfry wynoszą: 3 1 3 1 3 1 3. Następnie wynik dzielimy modulo 10, i odejmujemy go od 10. Nastepnie ten wynik dzielimy znów modulo 10. Wynik musi być zgodny z ostatnią cyfrą kodu EAN-8.

By kod EAN-8 mógł zostać automatycznie "przeczytany" przez urządzenia skanujące musi zostać przetworzony do postaci kodu kreskowego EAN-8.

Przykład:

Sprawdźmy poprawność kodu: 59021452
Mnożymy zatem cyfry przez odpowiednie wagi:
5*3 + 9*1 + 0*3 + 2*1 + 1*3 + 4*1 + 5*3 = 15 + 9 + 0 + 2 + 3 + 4 + 15 = 48
Teraz dzielimy wynik przez modulo 10
48 mod 10 = 8
Wynik odejmujemy od 10
10 - 8 = 2
I znów dzielimy przez modulo 10 (to zabezpieczenie gdyby w kroku powyżej wyszło nam 10 - wówczas cyfra kontrolna powinna wynosić 0)
2 mod 10 = 2
Sprawdzamy czy ostania cyfra to 2? Tak, a więc podany kod EAN-8 jest prawidłowy.
Ponadto, z tabeli poniżej możemy odczytać iż producentem tego produktu jest Polska (590).

Implementacje
AutorJęzyk
programowania
KomentarzOtwórzPobierzOcena
Tomasz LubińskiC/C++
.cpp
.cpp
***** / 1
Tomasz LubińskiDelphi/Pascal
.pas
.pas
***** / 1
Tomasz LubińskiJava
.java
.java
***** / 1
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język
programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Kody systemu numerowania EAN-8 (identyczne jak dla EAN-13)
000-139USA i Kanada
200-299Do użytku wewnętrznego
300-379Francja
380Bułgaria
383Słowenia
385Chorwacja
387Bośnia-Hercegowina
400-449Niemcy
450-459Japonia
460-469Rosja
470Kirgistan
471Tajwan
474Estonia
475Łotwa
476Azerbejdżan
477Litwa
478Uzbekistan
479Sri Lanka
480Filipiny
481Białoruś
482Ukraina
484Mołdawia
485Armenia
486Gruzja
487Kazachstan
489Hong Kong
490-499Japonia
500-509Wielka Brytania
520Grecja
528Liban
529Cypr
531Macedonia
535Malta
539Irlandia
540-549Belgia i Luksemburg
560Portugalia
569Islandia
570-579Dania
590Polska
594Rumunia
599Węgry
600-601RPA
608Bahrain
609Mauritius
611Maroko
613Algeria
619Tunezja
621Syria
622Egipt
624Libia
625Jordania
626Iran
627Kuwejt
628Arabia Saudyjska
629Emiraty Arabskie
640-649Finlandia
690-692Chiny
700-709Norwegia
729Izrael
730-739Szwecja
740Gwatemala
741Salwador
742Honduras
743Nikaragua
744Kostaryka
745Panama
746Dominikana
750Meksyk
759Wenezuela
760-769Szwajcaria
770Kolumbia
773Urugwaj
775Peru
777Boliwia
779Argentyna
780Chile
784Paragwaj
786Ekwador
789-790Brazylia
800-839Włochy
840-849Hiszpania
850Kuba
858Słowacja
859Czechy
860Jugosławia
867Korea Północna
869Turcja
870-879Holandia
880Korea Południowa
885Tajlandia
888Singapur
890Indie
893Wietnam
899Indonezja
900-919Austria
930-939Australia
940-949Nowa Zelandia
950EAN - IDA
955Malezja
977ISSN
978ISBN
979ISMN
980-999Kupony
Poprawiony: 29 sierpnia 2012 20:20
Dodaj komentarz