Leyendo códigos de barra
Como mucho de ustedes sabrán, códigos de barras hay de varios tipos. Tenemos los lineales y los bi-dimensionales. Dentro de estas dos categorías tenemos varios tipos: EAN, Code 128, Code 39, etc. En la wikipedia tenéis más información sobre cada tipo.
En esta entrada voy a intentar explicar como leer un código de barras del tipo Code 39 con tus propios ojos.
El tipo Code 39 pertenece a la categoría lineal. De esos con barritas blancas y negras. Para simplificar nuestro ejemplo, trabajaremos sólo con números, aunque estos códigos también soportan caracteres alfanuméricos.
Lo primero que tenemos que saber es que, por definición, el tipo Code 39 empieza y termina con un * (asterisco). Otro apunte más, estos códigos están compuestos por barras negras finas y anchas, así como espacios en blancos finos y anchos. Las barras negras finas las interpretaremos como un 0 (cero) y las anchas como un 1 (uno). Y los espacios en blanco finos como un simple separador y los espacios anchos los interpretaremos como un - (guión).
Una vez que hayamos leído y apuntado en un papel el código de barra, si eres capaz de leerlo y memorizarlo al mismo tiempo también vale :-), ahora toca interpretar la cadena de ceros y unos. Para ello nos basaremos en la siguiente tabla:
- = 0-0110 0 = 00-110 1 = 10-001 2 = 01-001 3 = 11-000 4 = 00-101 5 = 10-100 6 = 01-100 7 = 00-011 8 = 10-010 9 = 01-010
Vamos a leer el siguiente ejemplo:
0-011010-01001-100000-01110-10011-00000-11001-0100-0110
Como dijimos anteriormente este tipo de código de barras empieza y termina con un * (0-0110).
0-011010-01001-10000-01110-10011-00000-11001-0100-0110
Por lo tanto esos dígitos los podemos descartar, con lo que nos quedamos con:
10-01001-10000-01110-10011-00000-11001-010
Ahora lo que tenemos que hacer es agrupar los dígitos. De acuerdo con la tabla de arriba, cada dígito está compuesto por 2 dígitos, un guión y luego 3 dígitos más. Con lo que nos quedaría:
10-010 01-100 00-011 10-100 11-000 00-110 01-010
Si ahora comparamos con la tabla:
10-010 = 8 01-100 = 6 00-011 = 7 10-100 = 5 11-000 = 3 00-110 = 0 01-010 = 9
Por lo tanto nuestro código de barras sería: 8675309
En la wikipedia (en inglés) tenéis la tabla completa de símbolos, no sólo los números, sino también los caracteres alfanuméricos.
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec