Cómo funciona un código QR

Cómo funciona un código QR

Trucos

Cómo funciona un código QR

Todo lo que debes saber sobre el código QR: qué son, cómo funcionan y cómo los dispositivos móviles son capaces de leerlos en segundos.

29 marzo, 2016 20:46

Los códigos QR nacieron en Japón en 1994, y en su momento sus creadores probablemente no se podían imaginar la repercusión que tendrían a día de hoy. Tanto en campañas publicitarias como en la gestión de inventario de un almacén, los códigos QR han facilitado enormemente la tarea de acceder a cualquier tipo de información a través de un simple dibujo.

Pero, antes de saber cómo funcionan los códigos QR, conozcamos primero el origen de estas curiosas imágenes creadas a base de líneas, puntos y espacios en blanco.

Quién creó los códigos QR

Las siglas QR tienen su origen en el inglés, y no significan otra cosa que «Quick Response«, lo que se traduce como «Respuesta rápida» en español. Si nos remontamos al verdadero origen de esta tecnología, veremos que el primer código de barras bidimensional fue creado por la firma japonesa Denso Wave allá por el año 1994.

En su momento, sus creadores tenían bastante dudas respecto a si el QR sería capaz de desplazar a los tradicionales códigos de barras. Finalmente, consiguieron que las grandes empresas comenzaran a utilizar esta tecnología para, por ejemplo, identificar las piezas de los coches en una cadena de montaje.

Por supuesto, a fin de garantizar que puedan funcionar en cualquier móvil, estos códigos están sujetos a unas normas para su distribución mundial. El estándar japonés es el JIS X 0510, y se publicó en el año 1998. A los dos años, en el resto del mundo se hizo un estándar todavía más universal a través de la ISO (Organización Internacional de Normalización), lo que garantizó su expansión por todo el planeta.

¿Cuánta información almacena un código QR?

Los códigos QR, no lo olvidemos, no son más que cuadrados blancos y negros, y no dejan de ser un fichero de texto codificado de una forma algo ‘rara’ . Estamos hablando de un fichero que, eso sí, puede contener una gran cantidad de caracteres. Para que os hagáis una idea:

  • Sólo números – Máx. 7.089 caracteres
  • Alfanumérico – Máx. 4.296 caracteres
  • Binario – Máx. 2.953 bytes
  • Kanji/Kana – Máx. 1.817 caracteres

Los QR pueden tener un tamaño mínimo de 21 x 21 o máximo de 177 x 177 cuadrados. Esto se denota por la versión, yendo desde 1 hasta 40. Como curiosidad, la versión V es N x N, siendo N = 17 x 4V. Según la versión elegida, tendrás más o menos cuadros.

Pero también poseen la capacidad de corregir errores en el escaneo. Mediante la agregación y eliminación de píxeles se pueden recuperar datos a causa de la falta de nitidez.

  • Nivel L- 7% de las claves se pueden restaurar
  • Nivel M – 15% de las claves se pueden restaurar
  • Nivel Q – 25% de las claves se pueden restaurar
  • Nivel H – 30% de las claves se pueden restaurar

De este modo se consigue una velocidad de lectura casi inmediata. Al momento que el lector detecta los cuadrados de posición y el de alineamiento, la extracción de la información es casi inmediata.

Cómo se leen los códigos QR, aquí viene lo importante

Vamos a explicar cómo se forma un código QR y cómo se podría llegar a interpretar sin un dispositivo Android (y con tiempo).

Para ello hay que diferenciar las cinco partes en las que se divide un código QR: Símbolos de posición, símbolo de alineamiento, líneas de dimensión, información variable y el cuerpo.

Símbolos de posicionamiento y alineación, la base

Lo que se puede ver sin problemas son los símbolos de posición y el de alineamiento. Gracias a los símbolos de posición, el lector de QR se ubica y puede seguir con el escaneo de datos. Claro está, una vez que determine la posición en la que está, porque estos códigos se pueden leer al revés.

Símbolos de posición / Símbolo de alineamiento

Líneas de dimensión, se usan para marcar luego los módulos

Una vez que ya posiciona el código, pasa a detectar las líneas de dimensión. Así puede saber el tamaño de los símbolos internos del cuerpo. Cuerpo que se divide en bytes. Sí, el cuerpo luego se divide en secciones de 8 cuadrados que simbolizan 1 y 0.

Datos variables y necesarios para desenmascarar el código QR

Ahora toca saber ciertos datos como son el indexado del a matriz de cuadrados y el nivel de corrección de errores elegido. Esto se sabe a través de la sección destinada a la línea de formato. También hay otros bloques del código que te determinan la versión del código QR que está leyendo.

Datos y nivel de corrección de errores / Versión

Una vez que se saben todos estos datos, se puede proceder a la extracción de la información almacenada en el código QR hay que superar también su máscara de protección. Para poder saber el contenido tenemos que conocer su ID de máscara. Esto se saca a partir de la información de formato y los bits contenidos entre el 10-14. A eso se le hace el módulo de 2 y revelará el ID de máscara.

Los bits del 10 al 14 son «11111», eso cuando se le hace el módulo de 2 es «01010». Pues se cogen los tres últimos y ese es el ID.

Determinar la matriz de bits del código QR

Con el valor de la máscara se pueden determinar los módulos del código QR. Y tal y como se ven numerados los cuadrados, son los bytes en los que está formado.

Si nos fijamos en este ejemplo, podemos ver como el código QR, ya con los cuadrados marcados, se corresponde con la siguiente matriz en binario. Pues cuando ha hecho ya todo esto nuestro smartphone, traduce de binario a caracteres y nos envía la información correspondiente.

Cómo leer y crear tu propio código QR

Y sí, todo este proceso lo hace tu smartphone Android en un suspiro. A través de aplicaciones de terceros, o algunas marcas lo incluyen en su aplicación nativa, se puede leer un código QR de cualquier sitio.

Si queréis crear vosotros mismos un código QR, esta página web es capaz de hacerlos de tal modo que puedas almacenar desde un número de teléfono, una URL o la clave de tu WiFi para que tus invitados no tengan que darle la vuelta al router e ir poniéndola.

Generador de códigos QR

Como dato, el más grande del mundo tiene un tamaño de 20.000 metros cuadrado y está en Canadá.

PD. ¿Habéis probado a leer el código QR de la portada?

Más información | AMS