Cod 128
Codul 128 este un cod de bare care vă permite să reprezentați toate cele 128 de caractere ale codului ASCII (7 biți). Specificațiile de referință sunt exprimate prin ISO / IEC 15417: 2007.
Acesta include trei tipuri de codificări care pot coexista simultan într-un singur cod de bare: Cod 128A, Cod 128B, Cod 128C.
O aplicație foarte comună a codului 128 în domeniul logistic este GS1-128 .
Aplicații
Un subset al Codului 128, foarte comun în domeniul logisticii (transport și ambalare), este GS1-128 (cunoscut sub numele de UCC / EAN-128). Se utilizează pentru identificarea containerelor și paleților din lanțul de distribuție. Standardul de referință este ISO / IEC 15417: 2007.
Specificații
Un cod de bare Cod 128 are șase secțiuni:
- începe caracterul
- codificarea datelor
- cod de control
- caracter de oprire
- Zona liniștită sau zona dintre codul de bare și alte linii verticale
Codul de control este calculat de un producător ( modulul 103) din toate caracterele.
Tipuri de cod 128
Codul 128 are 107 simboluri: 103 simboluri pentru date, 3 simboluri de pornire, 1 simbol de oprire. Pentru a reprezenta toate cele 128 de caractere ASCII , există trei seturi de caractere (A, B, C), care pot fi îmbinate într-un singur cod de bare (folosind codurile 98 și 99 între seturile de caractere A și B , 100 între seturile de caractere A și C , 101 între seturile de caractere B și C ):
- 128A (set de coduri A) - coduri ASCII 00 până la 95 (0-9, coduri AZ și control), caractere speciale și FNC 1-4
- 128B (set de coduri B) - coduri ASCII de la 32 la 127 (0-9, AZ, az), caractere speciale și FNC 1-4
- 128C (set de coduri C) - 00-99 (fiecare pereche de numere este codificată cu un singur cod) și FNC1
Zona de liniste
Zona liniștită se referă la zona dintre codul de bare și alte linii verticale. Zona liniștită trebuie să fie de cel puțin zece ori lățimea celui mai îngust element de bară / spațiu. Este obligatoriu în partea stângă și dreapta a codului de bare. Zona liniștită nu trebuie să aibă o lățime mai mică de 6,4 mm.
Start bit / Stop bit și codificare date
Fiecare caracter al codului de bare:
- este alcătuit din trei bare și trei spații. (bitul de oprire are o bară suplimentară de lungime 2)
- fiecare bară sau spațiu are o lățime de 1, 2, 3 sau 4 unități de lățime
- suma lățimilor barei trebuie să fie uniformă
- suma lățimilor spațiilor trebuie să fie impar
- suma totală a barelor și a spațiilor trebuie să fie egală cu 11 unități de lățime pe caracter
De exemplu, codificarea ASCII a valorii 0 poate fi văzută ca 10011101100, unde cifra 1 (una) este o bară și 0 este un spațiu. O combinație care conține un singur 1 ar fi cea mai subțire linie din codul de bare. O combinație de trei 1s (111) în ordine indică o bară de trei ori mai groasă decât o singură bară 1.
Calculul codului de control
Codul de verificare este o sumă de verificare Modulo 103. Se calculează prin adăugarea „valorii” codului de pornire la produsele fiecărui caracter multiplicate cu poziția sa în șirul de coduri de bare. Caracterul de început și prima valoare codată se află în poziția 1. Suma valorii codului de început și produsele sunt apoi împărțite la 103. Restul diviziunii este cifra de verificare a „valorii” care este apoi convertită într-un caracter adăugat la sfârșitul codului de bare.
Folosind FNC4 pentru a codifica caractere Latin-1 (128-255)
Funcția 4 (FNC4) poate fi utilizată pentru a codifica, într-un cod de bare Cod 128, toate caracterele standardului LATIN-1 ( ISO-8859-1 , adică o specificație a ISO-8859 ). Cei 7 biți cel mai puțin semnificativi ai caracterului care urmează a fi codat sunt stocate în codurile de bare; delimitatorul FNC4 (unic sau copiat) este folosit pentru a indica faptul că caracterele sunt ASCII extinse și că trebuie adăugate 128 pentru a fi decodate. În faza de decodare (de la cod de bare la șir), când un singur FNC4 este prezent într-un șir, următorul caracter va fi un caracter ASCII extins (128-255). Pentru a evita să folosiți un FNC4 pentru fiecare caracter ASCII extins, există o modalitate de a comuta de la ASCII standard la ASCII extins: tot textul din ASCII extins trebuie delimitat de două perechi de FNC4. Un singur FNC4 în două perechi FNC4 indică faptul că următorul caracter este un caracter ASCII standard.
Lățimi de bare și spații
Code128 oferă o combinație de 6 bare oblice și spații pentru fiecare caracter, cu excepția caracterului stop, care folosește 7. Astfel, fiecare personaj începe cu o bară și se termină cu un spațiu (cu excepția caracterului stop, care se termină cu o bară) . Următoarele tabele detaliază lățimile asociate cu fiecare bară și spațiul pentru fiecare caracter. Lățimea fiecărei bare sau spații poate fi de 1, 2, 3 sau 4 unități. În tabelele următoare, un „A” va fi reprezentat cu modelul 10100011000 sau 111323 ca o succesiune de lățimi de bare și spațiu.
Valoare | 128A | 128B | 128C | Cod ASCII (Common / Barcodesoft) | Fonturi (Common / Barcodesoft) | Modelul barelor / spațiilor | Lățimea barelor / spațiilor |
---|---|---|---|---|---|---|---|
0 | spaţiu | spaţiu | 00 | 0032 sau 0212/252 | Spațiu sau Ô / ü | 11011001100 | 212222 |
1 | ! | ! | 01 | 33 | ! | 11001101100 | 222122 |
2 | " | " | 02 | 34 | " | 11001100110 | 222221 |
3 | # | # | 03 | 35 | # | 10010011000 | 121223 |
4 | $ | $ | 04 | 36 | $ | 10010001100 | 121322 |
5 | % | % | 05 | 37 | % | 10001001100 | 131222 |
6 | & | & | 06 | 38 | & | 10011001000 | 122213 |
7 | ' | ' | 07 | 39 | ' | 10011000100 | 122312 |
8 | ( | ( | 08 | 40 | ( | 10001100100 | 132212 |
9 | ) | ) | 09 | 41 | ) | 11001001000 | 221213 |
10 | * | * | 10 | 42 | * | 11001000100 | 221312 |
11 | + | + | 11 | 43 | + | 11000100100 | 231212 |
12 | , | , | 12 | 44 | , | 10110011100 | 112232 |
13 | - | - | 13 | 45 | - | 10011011100 | 122132 |
14 | . | . | 14 | 46 | . | 10011001110 | 122231 |
15 | / | / | 15 | 47 | / | 10111001100 | 113222 |
16 | 0 | 0 | 16 | 48 | 0 | 10011101100 | 123122 |
17 | 1 | 1 | 17 | 49 | 1 | 10011100110 | 123221 |
18 | 2 | 2 | 18 | 50 | 2 | 11001110010 | 223211 |
19 | 3 | 3 | 19 | 51 | 3 | 11001011100 | 221132 |
20 | 4 | 4 | 20 | 52 | 4 | 11001001110 | 221231 |
21 | 5 | 5 | 21 | 53 | 5 | 11011100100 | 213212 |
22 | 6 | 6 | 22 | 54 | 6 | 11001110100 | 223112 |
23 | 7 | 7 | 23 | 55 | 7 | 11101101110 | 312131 |
24 | 8 | 8 | 24 | 56 | 8 | 11101001100 | 311222 |
25 | 9 | 9 | 25 | 57 | 9 | 11100101100 | 321122 |
26 | : | : | 26 | 58 | : | 11100100110 | 321221 |
27 | ; | ; | 27 | 59 | ; | 11101100100 | 312212 |
28 | < | < | 28 | 60 | < | 11100110100 | 322112 |
29 | = | = | 29 | 61 | = | 11100110010 | 322211 |
30 | > | > | 30 | 62 | > | 11011011000 | 212123 |
31 | ? | ? | 31 | 63 | ? | 11011000110 | 212321 |
32 | @ | @ | 32 | 64 | @ | 11000110110 | 232121 |
33 | LA | LA | 33 | 65 | LA | 10100011000 | 111323 |
34 | B. | B. | 34 | 66 | B. | 10001011000 | 131123 |
35 | C. | C. | 35 | 67 | C. | 10001000110 | 131321 |
36 | D. | D. | 36 | 68 | D. | 10110001000 | 112313 |
37 | ȘI | ȘI | 37 | 69 | ȘI | 10001101000 | 132113 |
38 | F. | F. | 38 | 70 | F. | 10001100010 | 132311 |
39 | G. | G. | 39 | 71 | G. | 11010001000 | 211313 |
40 | H. | H. | 40 | 72 | H. | 11000101000 | 231113 |
41 | THE | THE | 41 | 73 | THE | 11000100010 | 231311 |
42 | J | J | 42 | 74 | J | 10110111000 | 112133 |
43 | K. | K. | 43 | 75 | K. | 10110001110 | 112331 |
44 | L | L | 44 | 76 | L | 10001101110 | 132131 |
45 | M. | M. | 45 | 77 | M. | 10111011000 | 113 123 |
46 | Nu. | Nu. | 46 | 78 | Nu. | 10111000110 | 113321 |
47 | SAU | SAU | 47 | 79 | SAU | 10001110110 | 133121 |
48 | P. | P. | 48 | 80 | P. | 11101110110 | 313121 |
49 | Î | Î | 49 | 81 | Î | 11010001110 | 211331 |
50 | R. | R. | 50 | 82 | R. | 11000101110 | 231131 |
51 | S. | S. | 51 | 83 | S. | 11011101000 | 213113 |
52 | T. | T. | 52 | 84 | T. | 11011100010 | 213311 |
53 | U | U | 53 | 85 | U | 11011101110 | 213131 |
54 | V. | V. | 54 | 86 | V. | 11101011000 | 311123 |
55 | W | W | 55 | 87 | W | 11101000110 | 311321 |
56 | X | X | 56 | 88 | X | 11100010110 | 331121 |
57 | Da | Da | 57 | 89 | Da | 11101101000 | 312113 |
58 | Z | Z | 58 | 90 | Z | 11101100010 | 312311 |
59 | [ | [ | 59 | 91 | [ | 11100011010 | 332111 |
60 | \ | \ | 60 | nouăzeci și doi | \ | 11101111010 | 314111 |
61 | ] | ] | 61 | 93 | ] | 11001000010 | 221411 |
62 | ^ | ^ | 62 | 94 | ^ | 11110001010 | 431111 |
63 | _ | _ | 63 | 95 | _ | 10100110000 | 111224 |
64 | NUL | ` | 64 | 96 | ` | 10100001100 | 111422 |
65 | DECI H | la | 65 | 97 | la | 10010110000 | 121124 |
66 | STX | b | 66 | 98 | b | 10010000110 | 121421 |
67 | ETX | c | 67 | 99 | c | 10000101100 | 141122 |
68 | EOT | d | 68 | 100 | d | 10000100110 | 141221 |
69 | ENQ | Și | 69 | 101 | Și | 10110010000 | 112214 |
70 | ACK | f | 70 | 102 | f | 10110000100 | 112412 |
71 | GROZAV | g | 71 | 103 | g | 10011010000 | 122114 |
72 | BS | h | 72 | 104 | h | 10011000010 | 122411 |
73 | HT | the | 73 | 105 | the | 10000110100 | 142112 |
74 | LF | j | 74 | 106 | j | 10000110010 | 142211 |
75 | VT | k | 75 | 107 | k | 11000010010 | 241211 |
76 | FF | L | 76 | 108 | L | 11001010000 | 221114 |
77 | CR | m | 77 | 109 | m | 11110111010 | 413111 |
78 | ASA DE | n | 78 | 110 | n | 11000010100 | 241112 |
79 | DA | sau | 79 | 111 | sau | 10001111010 | 134111 |
80 | DLE | p | 80 | 112 | p | 10100111100 | 111242 |
81 | DC1 | q | 81 | 113 | q | 10010111100 | 121142 |
82 | DC2 | r | 82 | 114 | r | 10010011110 | 121241 |
83 | DC3 | s | 83 | 115 | s | 10111100100 | 114212 |
84 | DC4 | t | 84 | 116 | t | 10011110100 | 124112 |
85 | NAK | tu | 85 | 117 | tu | 10011110010 | 124211 |
86 | SYN | v | 86 | 118 | v | 11110100100 | 411212 |
87 | ETB | w | 87 | 119 | w | 11110010100 | 421112 |
88 | POATE SA | X | 88 | 120 | X | 11110010010 | 421211 |
89 | EM | y | 89 | 121 | y | 11011011110 | 212141 |
90 | SUB | z | 90 | 122 | z | 11011110110 | 214121 |
91 | ESC | { | 91 | 123 | { | 11110110110 | 412121 |
nouăzeci și doi | FS | | | nouăzeci și doi | 124 | | | 10101111000 | 111143 |
93 | GS | } | 93 | 125 | } | 10100011110 | 111341 |
94 | RS | ~ | 94 | 126 | ~ | 10001011110 | 131141 |
95 | S.U.A. | AL | 95 | 200/240 | Și | 10111101000 | 114113 |
96 | FNC 3 | FNC 3 | 96 | 201/241 | É / ñ | 10111100010 | 114311 |
97 | FNC 2 | FNC 2 | 97 | 202/242 | Ê / ò | 11110101000 | 411113 |
98 | Shift B | Shift A | 98 | 203/243 | Ë / ó | 11110100010 | 411311 |
99 | Codul C | Codul C | 99 | 204/244 | The | 10111011110 | 113141 |
100 | Codul B | FNC4 | Codul B | 205/245 | The | 10111101110 | 114131 |
101 | FNC 4 | Codul A | Codul A | 206/246 | The | 11101011110 | 311141 |
102 | FNC 1 | FNC 1 | FNC 1 | 207/247 | Ï / ÷ | 11110101110 | 411131 |
103 | Codul de pornire A. | 208/248 | Ð / ø | 11010000100 | 211412 | ||
104 | Codul de pornire B | 209/249 | Ñ / ù | 11010010000 | 211214 | ||
105 | Codul de pornire C | 210/250 | Ò / ú | 11010011100 | 211232 | ||
106 | Stop (7 bare / spații) | 211/251 | Ó / û | 1100011101011 | 2331112 | ||
- | nu este folosit pentru a preveni erorile de citire | - | - | 11010111000 | 211133 |
Alte proiecte
- Wikimedia Commons conține imagini sau alte fișiere din Codul 128
linkuri externe
- ( RO ) Cod 128 / GS1-128 Coduri de bare Întrebări frecvente și tutorial , pe idautomation.com .