Codigo 128 -
Code 128
J. Ignacio
Ulacia F. (17.6.1996 rev
23.11.2005)
Ultimamente, debido a
los requerimientos de etiquetado, la
densidad y a versatilidad en la
codificacion, el Codigo 128 se ha
convertido en un fuerte candidato para
desplazar al codigo 39. El codigo 128 es
mas denso y puede codificar todos los
caracteres ASCII. Este codigo de barras
fue introducido en 1981 y ha cobrado gran
popularidad. Es una simbologia de longitud
variable, alfanumerica y con modulos de
ancho variable (1 a 4) claros y obscuros.
Cada caracter tiene 3 barras y tres
espacios con 11 modulos en total. Tiene un
digito verificador incluido.
El codigo tiene tres
juegos o Tablas de codificacion. La Tablas
A y B son alfanumericas, mientras que la
Tabla C es numerica de doble densidad. Asi
que un simbolo tendra diferente
significado de acuerdo a la tabla que se
haya especificado. Por ejemplo el simbolo
(413111)
que en la Tabla A
representa el CR (carriage return),
en la Tabla B representa la "m" y
en la Tabla C el numero 77. El
caracter de inicio identifica la tabla de
codificacion a interpretar. Se puede
cambiar de tabla de codificacion mediante
caracteres de cambio que se incluyen
dentro del codigo impreso. El simbolo de
terminacion siempre es el mismo y es el
unico que contiene 13 modulos. La
estructura del codigo es la
siguiente.
El Codigo de barras
contiene un caracter de inicio que
determina la tabla a codificar, la
informacion o datos, un digito verificador
y un caracter de terminacion.
Cuando se cambia de
Tabla de codificacion internamente se
incluyen los caracteres correspondientes
dentro del simbolo. Por ejemplo para
codificar la informacion
ABC1234567890 es preferible
codificar en Tabla A los tres primeros
caracteres y los 10 siguientes en Tabla C
con doble densidad. La estructura del
codigo sera la siguiente
|
|
ABC
|
|
1234567890
|
Verif
|
|
|
Inicio
A
|
Datos
A
|
Cambio
C
|
Datos
C
|
Digito
Verificador
|
Stop
|
Codificacion
El codigo 128 en un
codigo de barras unidimensional
alfanumerico que puede codificar los 128
caracteres ASCII.
Puede codificar 107
caracteres unicos, con 4 caracteres de
funcion usados en varios estandares, 4
caracteres de seleccion, 3 caracteres de
inicio y un caracter de terminacion. Por
cada simbolo impreso se tienen que
adicionar tres caracteres, uno de inicio,
un digito verificador y un caracter de
terminacion. La siguiente Tabla 1 muestra
la codificacion completa.
Tabla
A
|
Tabla
B
|
Tabla
C
|
Codificacion
|
Check
|
|
Tabla
A
|
Tabla
B
|
Tabla
C
|
Codificacion
|
Check
|
|
space
|
space
|
00
|
212222
|
0
|
V
|
V
|
54
|
311123
|
54
|
|
!
|
!
|
01
|
222122
|
1
|
W
|
W
|
55
|
311321
|
55
|
|
"
|
"
|
02
|
222221
|
2
|
X
|
X
|
56
|
331121
|
56
|
|
#
|
#
|
03
|
121223
|
3
|
Y
|
Y
|
57
|
312113
|
57
|
|
$
|
$
|
04
|
121322
|
4
|
Z
|
Z
|
58
|
312311
|
58
|
|
%
|
%
|
05
|
131222
|
5
|
[
|
[
|
59
|
332111
|
59
|
|
&
|
&
|
06
|
122213
|
6
|
\
|
\
|
60
|
314111
|
60
|
|
'
|
'
|
07
|
122312
|
7
|
]
|
]
|
61
|
221411
|
61
|
|
(
|
(
|
08
|
132212
|
8
|
^
|
^
|
62
|
431111
|
62
|
|
)
|
)
|
09
|
221213
|
9
|
-
|
-
|
63
|
111224
|
63
|
|
*
|
*
|
10
|
221312
|
10
|
NUL
|
'
|
64
|
111422
|
64
|
|
+
|
+
|
11
|
231212
|
11
|
SOH
|
a
|
65
|
121124
|
65
|
|
,
|
,
|
12
|
112232
|
12
|
STX
|
b
|
66
|
121421
|
66
|
|
-
|
-
|
13
|
122132
|
13
|
ETX
|
c
|
67
|
141122
|
67
|
|
.
|
.
|
14
|
122231
|
14
|
EOT
|
d
|
68
|
141221
|
68
|
|
/
|
/
|
15
|
113222
|
15
|
ENQ
|
e
|
69
|
112214
|
69
|
|
0
|
0
|
16
|
123122
|
16
|
ACK
|
f
|
70
|
112412
|
70
|
|
1
|
1
|
17
|
123221
|
17
|
BEL
|
g
|
71
|
122114
|
71
|
|
2
|
2
|
18
|
223211
|
18
|
BS
|
h
|
72
|
122411
|
72
|
|
3
|
3
|
19
|
221132
|
19
|
HT
|
i
|
73
|
142112
|
73
|
|
4
|
4
|
20
|
221231
|
20
|
LF
|
j
|
74
|
142211
|
74
|
|
5
|
5
|
21
|
213212
|
21
|
VT
|
k
|
75
|
241211
|
75
|
|
6
|
6
|
22
|
223112
|
22
|
|
FF
|
l
|
76
|
221114
|
76
|
|
7
|
7
|
23
|
312131
|
23
|
|
CR
|
m
|
77
|
413111
|
77
|
|
8
|
8
|
24
|
311222
|
24
|
|
SO
|
n
|
78
|
241112
|
78
|
|
9
|
9
|
25
|
321122
|
25
|
|
SI
|
o
|
79
|
134111
|
79
|
|
:
|
:
|
26
|
321221
|
26
|
|
DLE
|
p
|
80
|
111242
|
80
|
|
;
|
;
|
27
|
312212
|
27
|
|
DC1
|
q
|
81
|
121142
|
81
|
|
<
|
<
|
28
|
322112
|
28
|
|
DC2
|
r
|
82
|
121241
|
82
|
|
=
|
=
|
29
|
322211
|
29
|
|
DC3
|
s
|
83
|
114212
|
83
|
|
>
|
>
|
30
|
212123
|
30
|
|
DC4
|
t
|
84
|
124112
|
84
|
|
?
|
?
|
31
|
212321
|
31
|
|
NAK
|
u
|
85
|
124211
|
85
|
|
@
|
@
|
32
|
232121
|
32
|
|
SYN
|
v
|
86
|
411212
|
86
|
|
A
|
A
|
33
|
111323
|
33
|
|
ETB
|
w
|
87
|
421112
|
87
|
|
B
|
B
|
34
|
131123
|
34
|
|
CAN
|
x
|
88
|
421211
|
88
|
|
C
|
C
|
35
|
131321
|
35
|
|
EM
|
y
|
89
|
212141
|
89
|
|
D
|
D
|
36
|
112313
|
36
|
|
SUB
|
z
|
90
|
214121
|
90
|
|
E
|
E
|
37
|
132113
|
37
|
|
ESC
|
{
|
91
|
412121
|
91
|
|
F
|
F
|
38
|
132311
|
38
|
|
FS
|
|
|
92
|
111143
|
92
|
|
G
|
G
|
39
|
211313
|
39
|
|
GS
|
}
|
93
|
111341
|
93
|
|
H
|
H
|
40
|
231113
|
40
|
|
RS
|
-
|
94
|
131141
|
94
|
|
I
|
I
|
41
|
231311
|
41
|
|
US
|
DEL
|
95
|
114113
|
95
|
|
J
|
J
|
42
|
112133
|
42
|
|
FNC3
|
FNC3
|
96
|
114311
|
96
|
|
K
|
K
|
43
|
112331
|
43
|
|
FNC2
|
FNC2
|
97
|
411113
|
97
|
|
L
|
L
|
44
|
132131
|
44
|
|
Shift
|
Shift
|
98
|
411311
|
98
|
|
M
|
M
|
45
|
113123
|
45
|
|
Tabla
C
|
Tabla
C
|
99
|
113141
|
99
|
|
N
|
N
|
46
|
113321
|
46
|
|
Tabla
B
|
FNC4
|
Tabla
B
|
114131
|
100
|
|
O
|
O
|
47
|
133121
|
47
|
|
FNC4
|
Tabla
A
|
Tabla
A
|
311141
|
101
|
|
P
|
P
|
48
|
313121
|
48
|
|
FNC1
|
FNC1
|
FNC1
|
411131
|
102
|
|
Q
|
Q
|
49
|
211331
|
49
|
|
START
A
|
211412
|
103
|
|
R
|
R
|
50
|
231131
|
50
|
|
START
B
|
211214
|
104
|
|
S
|
S
|
51
|
213113
|
51
|
|
START
C
|
211232
|
105
|
|
T
|
T
|
52
|
213311
|
52
|
|
|
|
|
|
|
|
U
|
U
|
53
|
213131
|
53
|
|
STOP
|
STOP
|
STOP
|
2331112
|
|
Tabla 1: Codificacion
de los caracteres del Codigo 128. La
primera posicion significa que es una
barra negra, la segunda blanca, la tercera
negra y asi sucesivamente. El digito
significa el ancho en modulos de cada
barra. En total tiene que haber 11 modulos
por caracter excepto el de final que tiene
13 modulos. A continuacion se encuentra la
representacion de la letra P
(313121).
Cada caracter esta
representado con tres barras y tres
espacios teniendo un total de once
modulos. Las barras o espacios pueden ser
anchos o angostos. Tipicamente una barra
angosta tiene una dimension de 10 mils (10
milesimos de pulgada). La minima dimension
de la barra angosta (x) puede ser de 7.5
mils. La dimension mas ancha no tiene
limite mas el que se pueda leer con un
lector de codigo de barras. En un caracter
se encuentran 3 barras anchas por cada
nueve elementos, de ahi su nombre codigo 3
de 9. Entre dos caracteres por lo general
se usa la dimension de una barra angosta
de color blanco.
Digito
Verificador
El codigo 128 incluye
un digito verificador internamente. Este
digito se calcula mediante el valor
representado en la tabla y multiplicado
por un factor de peso que se representa
con la posicion que ocupa en caracter en
el mensaje. Se suman todos los valores y
se les calcula en residuo al obtener el
modulo 103. Ejemplo para el simbolo
POSLINE, el digito verificador se
calcula de la siguiente manera.
(P) 48 * 1 +
(O) 49 * 2 + (S) 51 * 3 + (L) 44 * 4 + (I)
41 * 5 + (N) 46 * 6 + (E) 37 * 7 = 1215
Residuo:
mod(1215/103) = 82
que corresponde al
caracter DC2 en la Tabla A. Hay que
mencionar que estos calculos los realizan
las impresoras y lectores automaticamente
y que no es necesario el calcularlo para
cada simbolo.
Impresion del
Codigo
Un codigo 128 debe
tener los siguientes elementos
- Zona Muda - antes
del codigo tiene que haber un espacio
en blanco sin impresion donde los
lectores determinan el inicio de un
codigo. Esta zona corresponde a 10
veces el ancho de una barra
delgada.
- Caracter de inicio
- Es el caracter dependiendo de la
Tabla de codificacion a
usar.
- Informacion a
codificar
- Digito verificador
- Caracter de
final
- Zona muda - igual
que la anterior.
La altura de un codigo
debe ser igual al 15% de su longitud o
0.25 pulgadas, el que sea
mayor.
|