close

Código 128

Ir para a navegação Ir para a pesquisa
Image
"Wikipédia" no Código 128B

O código 128 é um código de barras que permite representar todos os 128 caracteres do código ASCII (7 bits). As especificações de referência são expressas pela ISO/IEC 15417: 2007.

Inclui três tipos de codificações que podem coexistir simultaneamente em um único código de barras: Código 128A, Código 128B, Código 128C.

Uma aplicação muito comum do código 128 na área de logística é o GS1-128 .

Aplicações

Um subconjunto do Código 128, muito comum na área de logística (expedição e embalagem), é o GS1-128 (conhecido como UCC/EAN-128). É utilizado para a identificação de contentores e paletes na cadeia de distribuição. A norma de referência é a ISO/IEC 15417: 2007.

Especificações

"Seções do código 128"
seções do código de barras Code 128 (GS1-128). 1: Zona silenciosa, 2: Símbolo de partida/símbolo de parada, 3: [FNC1] + codificação de dados, 4: código de controle

Um código de barras Code 128 tem seis seções:

  • personagem inicial
  • codificação de dados
  • código de controle
  • personagem de parada
  • Zona de silêncio ou a área entre o código de barras e outras linhas verticais

O código de controle é calculado por um fabricante ( módulo 103) de todos os caracteres.

Tipos de Código 128

O código 128 tem 107 símbolos: 103 símbolos de dados, 3 símbolos de início, 1 símbolo de parada. Para representar todos os 128 caracteres ASCII , existem três conjuntos de caracteres (A, B, C), que podem ser mesclados em um único código de barras (usando os códigos 98 e 99 entre os conjuntos de caracteres A e B , 100 entre os conjuntos de caracteres A e C , 101 entre os conjuntos de caracteres B e C ):

  • 128A (Conjunto de Códigos A) - códigos ASCII 00 a 95 (0-9, AZ e códigos de controle), caracteres especiais e FNC 1-4
  • 128B (Conjunto de Códigos B) - códigos ASCII 32 a 127 (0-9, AZ, az), caracteres especiais e FNC 1-4
  • 128C (Conjunto de Códigos C) - 00-99 (cada par de números é codificado com um único código) e FNC1

Zona calma

Zona de silêncio refere-se à área entre o código de barras e outras linhas verticais. A zona de silêncio deve ser pelo menos dez vezes a largura do elemento de barra/espaço mais estreito. É obrigatório no lado esquerdo e direito do código de barras. A zona silenciosa não deve ter menos de 6,4 mm de largura.

Bits de início / bits de parada e codificação de dados

Cada caractere do código de barras:

  • é composto por três barras e três espaços. (o stop bit tem uma barra adicional adicional de comprimento 2)
  • cada barra ou espaço tem uma largura de 1, 2, 3 ou 4 unidades de largura
  • a soma das larguras das barras deve ser par
  • a soma das larguras dos espaços deve ser ímpar
  • a soma total de barras e espaços deve ser igual a 11 unidades de largura por caractere

Por exemplo, a codificação ASCII do valor 0 pode ser vista como 10011101100, onde o dígito 1 (um) é uma barra e o 0 é um espaço. Uma combinação que contém um único 1 seria a linha mais fina no código de barras. Uma combinação de três 1s (111) em sequência indica uma barra três vezes mais espessa do que uma única barra 1.

Cálculo do código de controle

O código de verificação é uma soma de verificação Módulo 103. Ele é calculado adicionando o 'valor' do código inicial aos produtos de cada caractere multiplicado por sua posição na sequência do código de barras. O caractere inicial e o primeiro valor codificado estão na posição 1. A soma do valor do código inicial e os produtos são divididos por 103. O restante da divisão é o dígito verificador do 'valor' que é então convertido em um caractere adicionado ao final do código de barras.

Eu uso FNC4 para codificar caracteres Latin-1 (160-255)

A função 4 (FNC4) pode ser usada para codificar, em um código de barras Code 128, todos os caracteres do padrão LATIN-1 ( ISO-8859-1 , ou seja, uma especificação de ISO-8859 ). Os 7 bits menos significativos do caractere a ser codificado são armazenados nos códigos de barras; o delimitador FNC4 (simples ou duplo) é usado para indicar que os caracteres são ASCII estendidos e que 128 devem ser adicionados ao valor ASCII a ser decodificado. Ao decodificar (código de barras para string), quando um único FNC4 estiver presente em uma string, o próximo caractere será um caractere ASCII estendido (160-255). Para evitar ter que usar um FNC4 para cada caractere ASCII estendido, existe uma maneira de alternar de ASCII padrão para ASCII estendido: todo texto em ASCII estendido deve ser delimitado por dois pares de FNC4. Um único FNC4 dentro de dois pares de FNC4 indica que o próximo caractere é um caractere ASCII padrão.

Larguras de barras e espaços

Code128 fornece uma combinação de 6 barras e espaços para cada caractere, exceto o caractere de parada, que usa 7. Assim, cada caractere começa com uma barra e termina com um espaço (com exceção do caractere de parada, que termina com uma barra) . As tabelas a seguir detalham as larguras associadas a cada barra e espaço para cada caractere. A largura de cada barra ou espaço pode ser de 1, 2, 3 ou 4 unidades. Nas tabelas a seguir, um 'A' será representado com o padrão 10100011000 ou 111323 como uma sequência de larguras de barras e espaços.

Código 128
Valor 128A 128B 128C Código ASCII (Comum / Barcodesoft) Fontes (Comum / Barcodesoft) Padrão das Barras/Espaços Largura das Barras/Espaços
0 espaço espaço 00 0032 ou 0212/252 Espaço ou Ô / ü 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 PARA PARA 33 65 PARA 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 E E 37 69 E 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 A A 41 73 A 11000100010 231311
42 J J 42 74 J 10110111000 112133
43 K. K. 43 75 K. 10110001110 112331
44 eu eu 44 76 eu 10001101110 132131
45 M. M. 45 77 M. 10111011000 113 123
46 Não. Não. 46 78 Não. 10111000110 113321
47 OU OU 47 79 OU 10001110110 133121
48 P. P. 48 80 P. 11101110110 313121
49 Q Q 49 81 Q 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 você você 53 85 você 11011101110 213131
54 V. V. 54 86 V. 11101011000 311123
55 C C 55 87 C 11101000110 311321
56 X X 56 88 X 11100010110 331121
57 S S 57 89 S 11101101000 312113
58 Z Z 58 90 Z 11101100010 312311
59 [ [ 59 91 [ 11100011010 332111
60 \ \ 60 noventa e dois \ 11101111010 314111
61 ] ] 61 93 ] 11001000010 221411
62 ^ ^ 62 94 ^ 11110001010 431111
63 _ _ 63 95 _ 10100110000 111224
64 NUL ` 64 96 ` 10100001100 111422
65 SOH para 65 97 para 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 E 69 101 E 10110010000 112214
70 ACK f 70 102 f 10110000100 112412
71 LEGAIS g 71 103 g 10011010000 122114
72 BS h 72 104 h 10011000010 122411
73 HT a 73 105 a 10000110100 142112
74 LF j 74 106 j 10000110010 142211
75 VT k 75 107 k 11000010010 241211
76 FF eu 76 108 eu 11001010000 221114
77 CR m 77 109 m 11110111010 413111
78 ASSIM n 78 110 n 11000010100 241112
79 SIM ou 79 111 ou 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 você 85 117 você 10011110010 124211
86 SYN v 86 118 v 11110100100 411212
87 ETB W 87 119 W 11110010100 421112
88 POSSO 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
noventa e dois FS | noventa e dois 124 | 10101111000 111143
93 GS } 93 125 } 10100011110 111341
94 RS ~ 94 126 ~ 10001011110 131141
95 NÓS DO 95 200/240 E 10111101000 114113
96 FNC 3 FNC 3 96 201/241 É / ñ 10111100010 114311
97 FNC 2 FNC 2 97 202/242 Ê / ò 11110101000 411113
98 Turno B Turno A 98 203/243 Ë / ó 11110100010 411311
99 Código C Código C 99 204/244 o 10111011110 113141
100 Código B FNC4 Código B 205/245 o 10111101110 114131
101 FNC 4 Código A Código A 206/246 o 11101011110 311141
102 FNC 1 FNC 1 FNC 1 207/247 Ï / ÷ 11110101110 411131
103 Iniciar código A 208/248 Fazer 11010000100 211412
104 Iniciar código B 209/249 Ñ ​​/ ù 11010010000 211214
105 Iniciar código C 210/250 Ò / u 11010011100 211232
106 Parar (7 barras/espaços) 211/251 Ó / û 1100011101011 2331112
- não usado para evitar erros de leitura - - 11010111000 211133

Outros projetos

Links externos