UPC (skrót od ang.: Universal Product Code) – pierwszy standard kodu kreskowego, wprowadzony został w supermarketach w USA i Kanadzie w 1973 roku, z myślą o usprawnieniu obsługi klientów i gromadzeniu danych w punktach sprzedaży.
Standaryzacją zajmowały się organizacje UCC (Uniform Code Council, Inc.) w USA oraz ECCC (Electronic Commerce Council of Canada). W wyniku podjęcia działań mających na celu połączenie standardów UPC oraz konkurencyjnego EAN w 2005 roku organizacje te weszły w skład globalnej organizacji GS1.
W chwili obecnej stosowane są 2 rodzaje kodów numerycznych UPC:
W kodzie UPC-A dwanaście cyfr dziesiętnych kodowane jest jako SLLLLLLMRRRRRRE, gdzie S (początek) i E (koniec) oznaczone są przez 3 moduły (bity – 101), M (środek, pole ochronne) jako 01010. Każde L i R jest cyfrą przedstawioną przez 7 modułów (siedem bitów). Całość kodu składa się z 95 bitów. Aby zmniejszyć prawdopodobieństwo błędnego odczytu, każde cyfra zakodowana jest tak, by w jak największym stopniu różnić się od pozostałych. Dodatkowo w kodowaniu nie występują moduły dłuższe od 4 przerw lub pasków.
Pierwsza cyfra L jest prefiksem, natomiast ostatnia cyfra R jest sumą kontrolną.
W kodzie UPC-E można zaprezentować to jako SLLLRRRE
Poprzez dodanie prefiksu 0, kody te stają się zgodne z EAN-13.
W systemie UPC-A, sumę kontrolną oblicza się w następujący sposób:
Na przykład dla kodu "03600029145X", gdzie X oznacza cyfrę kontrolną, X zostaje wyliczone w następujący sposób: Suma cyfr znajdujących się w miejscach nieparzystych (0+6+0+2+1+5 = 14) jest mnożona przez 3 (14 × 3 = 42), następnie dodawane są cyfry znajdujące się na miejscach parzystych – (42+3+0+0+9+4 = 58), obliczana jest wartość modulo 10 (58%10 = 8), a następnie wynik odejmowany jest od 10 (10 – 8 = 2). Obliczamy po raz kolejny modulo 10 (2%10 = 2). Suma kontrolna ma wartość 2.
W UPC-E cyfra kontrolna wynika z parytetu zakodowanych w kodzie cyfr.
W kodzie UPC-A, każda cyfra jest zapisana przez kombinację 4 modułów (kreska przerwa kreska przerwa lub na odwrót). Ze względu na możliwość odczytu kodu w dwie strony cyfry zapisane po lewej stronie kodu ("L") są przedstawione jako dopełnienie takiej samej cyfry zapisanej po prawej stronie kodu ("R").
Na przykład cyfra "6" jest zapisana jako:
Znak | Sposób kodowania lewa strona | Sposób kodowania prawa strona |
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 |
This article uses material from the Wikipedia Polski article Universal Product Code, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Treść udostępniana na licencji CC BY-SA 4.0, jeśli nie podano inaczej. Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Polski (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.