Los códigos de barras son generados de modo tal que la «lectura directa» por parte de un ser humano no es una prioridad. Sin embargo, eso no nos impide conocer su mecanismo exacto. El proceso toma pocos milisegundos para un ordenador, pero ese «¡beep!» casual representa a una importante cantidad de información que incluye país, nombre de compañía, producto, y una verificación final destinada a comprobar la correcta lectura del código.
Breve historia del código de barras
Al igual que sucedió con muchos otros inventos, la historia del primer código de barras para su aplicación en productos de consumo general se remonta a fines de los años ’40. Hay varios nombres asociados a su creación, pero los primeros en la lista son Norman Joseph Woodland y Bernard Silver. Ambos patentaron una versión inicial basada en un diseño circular, y de acuerdo con el propio Woodland, inspirada en el código Morse.
Woodland terminó bajo el ala de IBM, que demostró un gran interés en el sistema (incluso trató de comprar la patente), pero admitió que el poder de procesamiento necesario aún no estaba disponible. 70 años más tarde, los códigos de barras se encuentran impresos en casi cualquier cosa que puedas imaginar. Alimentos, medicamentos, herramientas, ropa… si se vende por unidad, paquete o peso, lo más probable es que veas uno.
Cómo funcionan los códigos de barras
Ahora, la pregunta mágica es… ¿cómo funcionan? ¿De qué manera un láser puede extraer números de líneas tan delgadas? Obviamente, si surge un problema con la lectura siempre tenemos la posibilidad de ingresar los números a mano, pero todo comienza con un estándar, y ahí es cuando interviene la organización GS1, cuyo cuartel general está en Bruselas.
Con más de 100 oficinas alrededor del mundo y un millón y medio de compañías registradas, básicamente debes tratar con ellos si necesitas códigos de barras para tus productos. Los dos formatos más populares son UPC-A y EAN-13. Se supone que UPC-A se utiliza en los Estados Unidos y Canadá, pero la magia del comercio internacional hace muy sencillo encontrar ejemplares de ambos formatos.
Tomemos el caso de UPC-A: Cualquier código tiene 95 barras (sí, 95) que pueden ser negras o blancas, con tres pilares de separación que marcan el inicio, el centro, y el fin. Los pilares consumen 11 barras (el patrón es 3-5-3), dejando un total de 84 barras para guardar la información. Esas 84 barras son divididas en doce grupos (uno por número) de siete barras. La configuración de las barras establecen la codificación del grupo, y por extensión, el dígito que se desea representar. Wikipedia hizo el trabajo pesado publicando un gráfico preciso con cada combinación posible:
Hay algo extraño en esa imagen, ¿verdad? Uno espera ver que la codificación para cada dígito sea la misma en ambos lados del código, pero no funciona así. De hecho, el ojo entrenado probablemente detecte cierta sutileza: Las barras blancas en la mitad izquierda son siempre pares, mientras que en la mitad derecha son impares. ¿Por qué? Porque garantiza el proceso de lectura aún cuando el código está de cabeza, algo que sucede con mucha frecuencia. Si el lector reconoce que las barras blancas del lado izquierdo aparecen como impares, automáticamente sabe que debe empezar a leer del lado derecho.
¿Qué nos dice el número en sí? Una vez más nos mantenemos en el terreno de UPC-A, y descubrimos que los primeros tres dígitos representan al país. Si tienes cerca algunos códigos que deseas explorar, puedes hacer clic aquí para ingresar a la tabla oficial de prefijos GS1, o como alternativa, usar este buscador de identidad internacional (es suficiente con escribir el código, pero hay un límite de búsquedas por día). El resto del código incluye a la compañía y el producto.
Aquí es en donde GS1 hace su dinero: Los grandes jugadores de cada mercado tienen una enorme cantidad de productos, por lo tanto, requieren que la sección «país + compañía» del código sea corta, o no estarían en condiciones de generar códigos de barras para todo su catálogo. En cambio, aquellas empresas con ofertas pequeñas (diez productos o menos) pueden acceder a un prefijo mucho más económico.
El cierre de este artículo pertenece al último dígito del código de barras UPC-A, que en esencia es el checksum, un control que confirma la lectura correcta del código. ¿Cómo se calcula? Primero sumamos los seis dígitos en las posiciones impares del código, y multiplicamos por tres. Después sumamos los cinco dígitos en las posiciones pares. Luego sumamos los resultados de ambas operaciones. El último paso es tomar a ese número y sumar el dígito de verificación, que debería convertir al resultado en un múltiplo de 10. Hagamos la prueba con el código de nuestro ratón Logitech:
- (0 + 7 + 5 + 0 + 3 + 5) = 20
- (20 x 3) = 60
- (9 + 8 + 5 + 6 + 9) = 37
- (60 + 37) = 97
- (97 + 3) = 100
Tal y como lo enseña la imagen.