El código 39 (también conocido como Alpha39 , código 3 de 9 , código 3/9 , tipo 39 , código USS 39 o USD-3 ) es una simbología de código de barras discreto de longitud variable .
La especificación del Código 39 define 43 caracteres, que consisten en letras mayúsculas (de la A a la Z), dígitos numéricos (del 0 al 9) y una cantidad de caracteres especiales (-,., $, /, +,% Y espacio ). Se utiliza un carácter adicional (denotado '*') tanto para los delimitadores de inicio como para los de parada. Cada personaje está compuesto por nueve elementos: cinco barras y cuatro espacios. Tres de los nueve elementos de cada carácter son anchos (valor binario 1) y seis elementos son estrechos (valor binario 0). La relación de ancho entre estrecho y ancho no es crítica y puede elegirse entre 1: 2 y 1: 3.
El código de barras en sí no contiene un dígito de control (a diferencia de, por ejemplo, el Código 128 ), pero se puede considerar de autocomprobación sobre la base de que una sola barra interpretada erróneamente no puede generar otro carácter válido. Posiblemente, el inconveniente más grave del Código 39 es su baja densidad de datos: requiere más espacio para codificar datos en el Código 39 que, por ejemplo, en el Código 128. Esto significa que los productos muy pequeños no se pueden etiquetar con un código de barras basado en el Código 39. Sin embargo, algunos servicios postales todavía utilizan el Código 39 (aunque la Unión Postal Universal recomienda utilizar el Código 128 en todos los casos [1] ) y se puede decodificar con prácticamente cualquier lector de códigos de barras . Una ventaja del Código 39 es que, dado que no es necesario generar un dígito de control, se puede integrar fácilmente en un sistema de impresión existente agregando una fuente de código de barras al sistema o impresora y luego imprimiendo los datos sin procesar en esa fuente.
Code 39 fue desarrollado por el Dr. David Allais y Ray Stevens de Intermec en 1974. Su diseño original incluía dos barras anchas y un espacio amplio en cada personaje, lo que resultaba en 40 personajes posibles. Al dejar a un lado uno de estos caracteres como patrón de inicio y finalización, quedaron 39 caracteres, que fue el origen del nombre Código 39. [2] Posteriormente se agregaron cuatro caracteres de puntuación, sin barras anchas y con tres espacios anchos, expandiendo el conjunto de caracteres a 43 caracteres. El código 39 se estandarizó posteriormente como ANSI MH 10.8 M-1983 y MIL-STD-1189. [3] MIL-STD-1189 ha sido cancelado y reemplazado por ANSI / AIM BC1 / 1995, Especificación de simbología uniforme - Código 39. [4]
Codificación
El carácter * que se presenta a continuación no es un verdadero carácter codificable, pero es el símbolo de inicio y parada del Código 39. La asimetría del símbolo permite al lector determinar la dirección del código de barras que se está escaneando. Este código se asigna tradicionalmente al carácter * en fuentes de código de barras y, a menudo, aparecerá con la representación legible por humanos junto al código de barras.
Como generalidad, se puede considerar que la ubicación de las dos barras anchas codifica un número entre 1 y 10, y la ubicación del espacio ancho (que tiene cuatro posiciones posibles) se puede considerar para clasificar al personaje en uno de cuatro grupos ( de izquierda a derecha): letras (+30) (U – Z), dígitos (+0) (1–9,0), letras (+10) (A – J) y letras (+20) (K– T). Por ejemplo, la letra P (siendo la decimosexta letra del alfabeto) tiene sus barras alineadas para representar el número 6, y el espacio en la posición más a la derecha para seleccionar el grupo Letras (+20).
Cuando se representa como un dígito, el número "10" se utiliza para codificar el número cero. Debido a que solo hay seis letras en el grupo Letras (+30) (letras 30–35 o U – Z), las otras cuatro posiciones en este grupo (36–39) se usan para representar tres símbolos (guión, punto, espacio ) así como el carácter de inicio / parada.
Las dos barras anchas, de cinco posiciones posibles, codifican un número entre 1 y 10 utilizando un código dos de cinco con la siguiente equivalencia numérica: 1, 2, 4, 7, 0. Los números se suman. Por ejemplo, el número 6 está codificado como NWWNN, con barras anchas que ocupan las posiciones para 2 y 4 (2 + 4 = 6). En el caso de NNWWN, que es 4 + 7 = 11 , se asigna a 0 para los dígitos (+0) y 10 para las columnas de letras (+10 - +30). Al codificar las letras (+10 a +30), la ecuación necesita un "−1" agregado para que 'A' sea WNNNW → 1 + 10 - 1 → 10 como se muestra en la tabla.
Los últimos cuatro caracteres constan de barras estrechas y tres espacios anchos. Hay cuatro posiciones posibles para el espacio estrecho único.
Esta tabla describe la especificación del Código 39. El valor numérico asignado a cada carácter (excepto inicio / parada) se utiliza en el algoritmo de suma de comprobación que se describe a continuación.
Barras | Espacios | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|| ||| | +0 | ||| || | +10 | |||| | | +20 | | |||| | +30 | ||||||
▮ ||| ▮ | 1 | ▮ | || ▮ | 1 | 1 | ▮ || | ▮ | A | 10 | ▮ ||| ▮ | K | 20 | ▮ ||| ▮ | U | 30 |
| ▮ || ▮ | 2 | | ▮ || ▮ | 2 | 2 | | ▮ | | ▮ | B | 11 | | ▮ || ▮ | L | 21 | | ▮ || ▮ | V | 31 |
▮▮ ||| | 3 | ▮▮ ||| | 3 | 3 | ▮▮ | || | C | 12 | ▮▮ || | | METRO | 22 | ▮ ▮ ||| | W | 32 |
|| ▮ | ▮ | 4 | || ▮ | ▮ | 4 | 4 | || ▮ | ▮ | D | 13 | || ▮ | ▮ | norte | 23 | | | ▮ | ▮ | X | 33 |
▮ | ▮ || | 5 | ▮ | ▮ || | 5 | 5 | ▮ | ▮ || | mi | 14 | ▮ | ▮ | | | O | 24 | ▮ | ▮ || | Y | 34 |
| ▮▮ || | 6 | | ▮ ▮ || | 6 | 6 | | ▮▮ || | F | 15 | | ▮▮ | | | PAG | 25 | | ▮▮ || | Z | 35 |
||| ▮▮ | 7 | || | ▮▮ | 7 | 7 | ||| ▮▮ | GRAMO | dieciséis | ||| ▮ ▮ | Q | 26 | | || ▮▮ | - | 36 |
▮ || ▮ | | 8 | ▮ | | ▮ | | 8 | 8 | ▮ || ▮ | | H | 17 | ▮ || ▮ | | R | 27 | ▮ || ▮ | | . | 37 |
| ▮ | ▮ | | 9 | | ▮ | ▮ | | 9 | 9 | | ▮ | ▮ | | I | 18 | | ▮ | ▮ | | S | 28 | | ▮ | ▮ | | ␣ | 38 |
|| ▮▮ | | 10 | || ▮▮ | | 0 | 0 | || ▮ ▮ | | J | 19 | || ▮▮ | | T | 29 | | | ▮▮ | | * | |
||||| | | | | || | PS | 39 | | | || | | / | 40 | | || | | | + | 41 | || | | | | % | 42 |
Los caracteres están separados por un espacio estrecho adicional. Por ejemplo, la codificación completa de la letra "A", que en realidad incluye los caracteres de inicio y finalización como "* A *", es "| | ▮▮ | ▮ || | ▮ | | ▮▮ |" . El código no se leerá correctamente sin estos espacios entre caracteres. Las fuentes de códigos de barras incluyen invariablemente este espacio dentro del glifo del carácter.
Código 39 mod 43
El código 39 se utiliza a veces con un dígito de control opcional módulo 43 . Su uso requiere que esta función esté habilitada en el lector de códigos de barras. El código con dígito de control se denomina Código 39 mod 43 .
Para calcular esto, a cada carácter se le asigna un valor. Las asignaciones se enumeran en la tabla anterior y son casi, aunque no del todo, sistemáticas.
A continuación se explica cómo realizar el cálculo de la suma de comprobación :
- Tome el valor (0 a 42) de cada carácter del código de barras, excluidos los códigos de inicio y parada.
- Suma los valores.
- Divida el resultado por 43.
- El resto es el valor del carácter de suma de comprobación que se agregará.
Código ASCII completo 39
El código 39 está restringido a 43 caracteres. En Código ASCII completo 39, los símbolos 0-9, AZ, ".", "-" y el espacio son los mismos que sus representaciones en el Código 39. Las letras minúsculas, los caracteres de puntuación adicionales y los caracteres de control se representan mediante secuencias de dos caracteres de Código 39.
Detalles del código | ||||||||||||||
Nr | Personaje | Codificación | Nr | Personaje | Codificación | Nr | Personaje | Codificación | Nr | Personaje | Codificación | |||
0 | NUL | % U | 32 | [espacio] | [espacio] | 64 | @ | % V | 96 | ' | % W | |||
1 | SOL | $ A | 33 | ! | /A | sesenta y cinco | A | A | 97 | a | + A | |||
2 | STX | $ B | 34 | " | /B | 66 | B | B | 98 | B | + B | |||
3 | ETX | $ C | 35 | # | /C | 67 | C | C | 99 | C | + C | |||
4 | EOT | $ D | 36 | PS | /D | 68 | D | D | 100 | D | + D | |||
5 | ENQ | $ E | 37 | % | /MI | 69 | mi | mi | 101 | mi | + E | |||
6 | ACK | $ F | 38 | Y | /F | 70 | F | F | 102 | F | + F | |||
7 | BEL | $ G | 39 | ' | /GRAMO | 71 | GRAMO | GRAMO | 103 | gramo | + G | |||
8 | BS | $ H | 40 | ( | / H | 72 | H | H | 104 | h | + H | |||
9 | HT | $ Yo | 41 | ) | /I | 73 | I | I | 105 | I | + Yo | |||
10 | LF | $ J | 42 | * | / J | 74 | J | J | 106 | j | + J | |||
11 | Vermont | $ K | 43 | + | / K | 75 | K | K | 107 | k | + K | |||
12 | FF | $ L | 44 | , | / L | 76 | L | L | 108 | l | + L | |||
13 | CR | $ M | 45 | - | - | 77 | METRO | METRO | 109 | metro | + M | |||
14 | ENTONCES | $ N | 46 | . | . | 78 | norte | norte | 110 | norte | + N | |||
15 | SI | $ O | 47 | / | / O | 79 | O | O | 111 | o | + O | |||
dieciséis | DLE | $ P | 48 | 0 | 0 | 80 | PAG | PAG | 112 | pag | + P | |||
17 | DC1 | $ Q | 49 | 1 | 1 | 81 | Q | Q | 113 | q | + Q | |||
18 | DC2 | $ R | 50 | 2 | 2 | 82 | R | R | 114 | r | + R | |||
19 | DC3 | $ S | 51 | 3 | 3 | 83 | S | S | 115 | s | + S | |||
20 | DC4 | $ T | 52 | 4 | 4 | 84 | T | T | 116 | t | + T | |||
21 | NAK | $ U | 53 | 5 | 5 | 85 | U | U | 117 | tu | + U | |||
22 | SYN | $ V | 54 | 6 | 6 | 86 | V | V | 118 | v | + V | |||
23 | ETB | $ W | 55 | 7 | 7 | 87 | W | W | 119 | w | + W | |||
24 | LATA | $ X | 56 | 8 | 8 | 88 | X | X | 120 | X | + X | |||
25 | EM | $ Y | 57 | 9 | 9 | 89 | Y | Y | 121 | y | + Y | |||
26 | SUB | $ Z | 58 | : | / Z | 90 | Z | Z | 122 | z | + Z | |||
27 | ESC | %A | 59 | ; | %F | 91 | [ | % K | 123 | { | %PAG | |||
28 | FS | %B | 60 | < | %GRAMO | 92 | \ | % L | 124 | | | % Q | |||
29 | GS | %C | 61 | = | % H | 93 | ] | %METRO | 125 | } | % R | |||
30 | RS | %D | 62 | > | %I | 94 | ^ | %NORTE | 126 | ~ | %S | |||
31 | nosotros | %MI | 63 | ? | % J | 95 | _ | % O | 127 | DEL | % T,% X,% Y,% Z |
Software
Este software gratuito y de código abierto puede producir códigos de barras Code 39:
Referencias
- ^ Como ejemplo de un estándar internacional, consulte "Identificación de envíos postales: identificador de 13 caracteres" (PDF) . Unión Postal Universal . 17 de octubre de 2017.
- ^ Allais, DC (2006). "Memorias AIDC" (PDF) . Archivado desde el original (PDF) el 26 de enero de 2013 . Consultado el 2 de junio de 2010 . Cite journal requiere
|journal=
( ayuda ) - ^ "Simbología de código de barras estándar del Departamento de Defensa MIL-STD-1189" . 1989-08-10. Archivado desde el original el 22 de julio de 2011 . Consultado el 22 de julio de 2010 .
- ^ "Aviso de adopción: especificación de simbología uniforme AIM / BC1" . 1997-06-19. Archivado desde el original el 27 de septiembre de 2011 . Consultado el 6 de abril de 2011 .
- ^ "Código de barras GNU" . Proyecto GNU . 19 de febrero de 2020.