algorytm.org

UPC-E



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?

UPC-E
Ocena użytkowników:***** / 0
SłabyŚwietny 
Wpisany przez Tomasz Lubiński, 29 sierpnia 2007 21:12

Kod UPC-E jest specjalną odmianą kodu UPC-A, który powstaje poprzez usunięcie zer występujących właśnie w kodzie UPC-A. Jest on stosowany tam, gdzie ze względu na niewielkie rozmiary produktu nie ma miejsca by wydrukować pełen kod UPC-A. Tylko pewien zakres kodów UPC-A może zostać przekonwertowany do kodu UPC-E. Kompresja ta polega na zmniejszeniu liczby cyfr potrzebnych do zapamiętania kodu producenta i produktu z 10 do 6. W tabeli poniżej zestawione są zakresy i sposób kompresji kodów UPC-A do kodu UPC-E. Oznaczenia: s - kod systemu, dopuszczalne tylko 0 oraz 1, a - kod producenta, b - kod produktu, c - suma kontrolna - nie jest obliczana ponownie - używa się sumy kontrolnej z kodu UPC-A.

Kod UPC-AKod UPC-EPrzykład UPC-A <=> UPC-E
saa00000pppcsaappp0c123000004561 <=> 12345601
saa10000pppcsaappp1c012100007896 <=> 01278916
saa20000pppcsaappp2c012200007895 <=> 01278925
saa300000ppcsaa3pp3c123300000898 <=> 12338938
saa400000ppcsaa4pp3c123400000897 <=> 12348937
saa500000ppcsaa5pp3c123500000896 <=> 12358936
saa600000ppcsaa6pp3c098600000452 <=> 09864532
saa700000ppcsaa7pp3c098700000451 <=> 09874531
saa800000ppcsaa8pp3c098800000320 <=> 09883230
saa900000ppcsaa9pp3c041900000257 <=> 04192537
saaaa00000pcsaaaap4c123450000083 <=> 12345843
saaaaa00005csaaaaa5c123456000056 <=> 12345656
saaaaa00006csaaaaa6c123456000063 <=> 12345663
saaaaa00007csaaaaa7c123456000070 <=> 12345670
saaaaa00008csaaaaa8c123456000087 <=> 12345687
saaaaa00009csaaaaa9c123456000094 <=> 12345694

By dokonać konwersji z kodu UPC-A do kodu UPC-E należy sprawdzać kolejno według podanej tabeli czy położenie zer i ewentualnej cyfry pokrywa się z kodem do konwersji. Jeżeli znajdziemy taki wpis to dokonujemy transformacji do kodu UPC-E zgodnie z tabelką powyżej. Jeżeli nie to podany kod UPC-A nie może zostać przekonwertowany do kodu UPC-E.
W przypadku gdy podany kod UPC-E chcemy przekonwertować z powrotem do kodu UPC-A wówczas sprawdzamy przedostatnią cyfrę w kodzie i dokonujemy konwersji zgodnie z tabelką powyżej. Jeżeli przedostatnią cyfrą jest 3 to wówczas musimy sprawdzić jeszcze dodatkowo czwartą cyfrę od początku - jeżeli jest to 0, 1 lub 2 to nie jest to prawidłowy kod UPC-E, w przeciwnym razie dokonujemy transformacji zgodnie z tabelką powyżej.
Cyfra kontrolna kodu UPC-E jest automatycznie przepisywana z kodu UPC-A, zatem by sprawdzić jej poprawność a co za tym idzie poprawność całego kodu należy przekonwertować kod z UPC-E do kodu UPC-A i na nim sprawdzić poprawność cyfry kontrolnej.
By kod UPC-E mógł zostać autmatycznie przeczytany przez urządzenia skanujące musi zostać przetworzony do kodu kreskowego UPC-E

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

Poprawiony: 29 sierpnia 2012 20:24
Komentarze
photo
0 # GfxBro 2011-08-17 15:59
I znów pytanie o tablice kodowe?
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz