Cod 128

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
„Wikipedia” în Codul 128B

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

„Cod 128 secțiuni”
secțiuni ale codului de bare Cod 128 (GS1-128). 1: Zona liniștită, 2: Simbol de pornire / simbol de oprire, 3: [FNC1] + codare date, 4: cod de control

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.

Cod 128
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

linkuri externe