Articulo de referencia

Código 39

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 discreta de longitud variable ...

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 discreta de longitud variable definida en la norma ISO / IEC 16388:2023.

La especificación Code 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 varios caracteres especiales (-, ., $, /, +,  %, y espacio ). Se utiliza un carácter adicional (denotado como '*') como delimitador de inicio y fin. Cada carácter se compone de nueve elementos: cinco barras y cuatro espacios. Tres de los nueve elementos de cada carácter son anchos (valor binario 1) y seis son estrechos (valor binario 0).

El esquema de código de barras no contiene un dígito de control (a diferencia, por ejemplo, del Código 128 ), pero puede considerarse autoverificable, ya que una sola barra mal interpretada no puede generar otro carácter válido. Posiblemente, el inconveniente más grave del Código 39 sea 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 artículos muy pequeños no pueden etiquetarse con un código de barras basado en el Código 39. Sin embargo, el Código 39 todavía lo utilizan algunos servicios postales (aunque la Unión Postal Universal recomienda usar el Código 128 en todos los casos [ 1 ] ), y puede decodificarse con prácticamente cualquier lector de códigos de barras . Una ventaja del Código 39 es que, al no ser necesario generar un dígito de control, puede integrarse 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.

El Código 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 ancho en cada carácter, lo que resultaba en 40 caracteres posibles. Al reservar uno de estos caracteres como patrón de inicio y fin, 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, ampliando el conjunto de caracteres a 43. El Código 39 fue estandarizado más tarde 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 muestra a continuación no es un carácter codificable propiamente dicho, sino el símbolo de inicio y fin 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 asocia tradicionalmente al carácter * en las fuentes de códigos de barras y suele aparecer junto a la representación legible para humanos, al lado del código de barras.

Código de 39 caracteres

En general, la ubicación de las dos barras anchas puede interpretarse como la codificación de un número entre 1 y 10, y la ubicación del espacio ancho (que tiene cuatro posiciones posibles) puede interpretarse como la clasificación del carácter 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 (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 selecciona el grupo Letras (+20).

Cuando se representa como un dígito, el número "10" se usa para codificar el número cero. Como solo hay seis letras en el grupo Letras (+30) (letras 30-35, o U-Z), las otras cuatro posiciones de este grupo (36-39) se usan para representar tres símbolos (guion, punto, espacio) y el carácter de inicio/parada.

Las dos barras anchas, de cinco posiciones posibles, codifican un número entre 1 y 10 usando un código de 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 se codifica NWWNN, con barras anchas ocupando las posiciones de 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 a 10 para las columnas de letras (+10 – +30). Al codificar las letras (+10 a +30), la ecuación necesita agregar un "−1", por lo que 'A' es 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 único espacio estrecho.

Esta tabla resume la especificación del Código 39. El valor numérico asignado a cada carácter (excepto inicio/fin) se utiliza en el algoritmo de suma de verificación que se describe a continuación.

Los caracteres están separados por un espacio estrecho adicional. Por ejemplo, la codificación completa para la letra "A", que en realidad incluye los caracteres de inicio y fin como "*A*", es " | | ▮▮ || | || | ▮▮ | " . El código no se leerá correctamente sin estos espacios entre caracteres. Las fuentes de código de barras invariablemente incluyen este espacio dentro del glifo del carácter.

Dígito de control del código 39

El código 39 se utiliza a veces con un dígito de control opcional de módulo 10 o 43. Para usarlo, es necesario habilitar esta función en el lector de códigos de barras. El código con dígito de control se denomina, respectivamente, Código 39 mod 10 o Código 39 mod 43 .

Para calcular esto, a cada carácter se le asigna un valor. Las asignaciones se muestran en la tabla anterior y son casi sistemáticas, pero no del todo.

Para realizar el cálculo de la suma de verificación 

  • Toma el valor (del 0 al 42) de cada carácter del código de barras, excluyendo los códigos de inicio y fin.
  • Suma los valores.
  • Divida el resultado entre 10 (para dígito de control Módulo 10) o entre 43 (para dígito de control Módulo 43).
  • El resto es el valor del carácter de suma de verificación que se agregará.

Código ASCII completo 39

El código 39 está limitado a 43 caracteres. En el código ASCII completo , los símbolos 0-9, AZ, ".", "-" y el espacio son iguales a sus representaciones en el código 39. Las letras minúsculas, los signos de puntuación adicionales y los caracteres de control se representan mediante secuencias de dos caracteres del código 39.

Software

El siguiente software gratuito y de código abierto puede generar códigos de barras Code 39:

  • Código de barras GNU . [ 5 ]
  • Zint y libzint .
  • glbarcode++ y glabels

Referencias

  1. Como ejemplo de norma internacional, véase «Identificación de envíos postales : identificador de 13 caracteres» (PDF) . Unión Postal Universal . 17 de octubre de 2017.
  2. Allais, DC (2006). "AIDC Memoirs" (PDF) . Archivado del original (PDF) el 26 de enero de 2013. Recuperado el 2 de junio de 2010 .{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  3. "MIL-STD-1189 Simbología de código de barras estándar del Departamento de Defensa" (PDF) . 10 de agosto de 1989. Archivado (PDF) del original el 1 de julio de 2024. Consultado el 30 de junio de 2024 .
  4. "Aviso de adopción: Especificación de simbología uniforme AIM/BC1" . 1997-06-19. Archivado del original el 27-09-2011 . Consultado el 06-04-2011 .
  5. "Código de barras GNU" . Proyecto GNU . 19 de febrero de 2020.