Todo sobre los códigos QR

En el último año, hemos visto como los códigos QR han pasado a formar parte habitual de nuestras vidas. En combinación con internet móvil y las nuevas plataformas móviles, se han convertido en una potente herramienta. Se utiliza frecuentemente para concursos, seguimiento comercial, para entretenimiento, tickets de transporte, marketing de fidelización  o simplemente la Vcard de una empresa con la dirección y la información relacionada. Se ha extendido con rapidez debido a su facilidad de lectura desde el Smartphone y la gran capacidad de almacenamiento respecto al código de barras tradicional. Incluso, los últimos presupuestos del estado español fueron presentados en un código QR (no era más que una URL que te llevaba a aeat.es). En este artículo hablaremos sobre diversos aspectos de este tipo de códigos.

 

 

¿Qué es un código QR?

Código QR es lo que llamamos un código en dos dimensiones. Fue diseñado por Toyota para la industria del automóvil. Más recientemente, el sistema se ha hecho popular en distintos ámbitos.

En general, un código QR es una matriz de puntos blancos y negros, que tiene los datos codificados en binario. Lleva un marcador especial en tres de las cuatro esquinas del cuadrado para conocer la orientación. Además, están protegidos por un código de corrección de errores. Para el diseño de un código QR hay que tener en cuenta dos factores importantes densidad y corrección de errores. Se pueden corregir hasta un 30% de los errores con el sistema de corrección de errores de los QR. Para la decodificación, utiliza un algoritmo DES (56 bits). El QR se suele leer con un smartphone que es quien interpreta dicha información.

Ya que el objetivo de este artículo no es hacer una descripción muy técnica, destacaremos  sólo las partes más importantes de los códigos QR.

Estructura QR.

Finder pattern: No es más que un patrón que ocupa 3 de las 4 esquinas para conocer la orientación exacta del código y la forma de interpretar las cadena de bits.

Format information: Formato en que va la información, si es una URL, si es sólo texto, una Vcard…

Timming pattern: Cadena de 0’s y 1’s para poder seguir la alineación de los Finder pattern.

Data: Evidentemente son los datos en crudo.

Alignment pattern: Otro identificador extra para conocer la orientación del QR.

Version: Versión que estamos utilizando, en ella se indica la densidad del código QR.

 

Qr-Sozpic

Almacenamiento.

La cantidad de datos que podemos almacenar depende de tres factores: el tipo de datos (numérico, alfanumérico…), la versión (indica la densidad del código QR) el nivel de corrección de errores (a mayor corrección de errores, menos capacidad).

Versión o Densidad

La versión del QR está directamente relacionada con su densidad y por tanto, de la cantidad de datos que puede almacenar. Hay 40 versiones, desde la versión 1 de tamaño de (21×21) hasta la versión 40 que tiene un tamaño de (177 × 177). A mayor densidad, mayor dificultad de lectura a distancia. Veamos un ejemplo de las distintas densidades.

 

 

 

Corrección de errores

La corrección de errores se usa para que aún estando el código QR dañado o poco visible, pueda ser leído por el lector. A mayor nivel (mayor redundancia de datos y mayor cantidad de datos restaurables) menos capacidad de almacenamiento.

Estos son los niveles que se utilizan para categorizar el nivel de datos recuperables.

  • Nivel L 7% de palabras de código se puede restaurar.
  • Nivel M 15% de palabras de código se puede restaurar.
  • Nivel Q 25% de palabras de código se puede restaurar.
  • Nivel H 30% de palabras de código se puede restaurar.

Tipos de datos

La cantidad de datos que podemos codificar en un código QR, dependerá también del tipo de datos que vayamos a introducir. Si introducimos sólo datos numerícos podremos almacenar una mayor cantidad, que si introducimos datos alfanuméricos, ya que estos últimos tendrán que codificarse con un mayor número de bits. Por ejemplo, basandonos en las variables explicadas anteriormente, veamos como sería uno de los tipos más comunes de código QR,  el 4-L (es decir, versión 4, corrección de errores L[OW]:

  • Sólo numérico Max. 187 caracteres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  • Alfanumérico Max. 114 caracteres (0-9, A-Z [en mayúsculas solamente]).–>Menos que Twitter.
  • Binario / Byte Max. 78 caracteres

Seguramente, este tipo sea el más común, ya que es suficiente para almacenar una dirección web.

Precauciones con los QR

En los últimos días, hemos visto algunos avisos avisaban de  códigos QR con virus. Bueno, una cosa es segura, nadie va a infectarse con un virus al decodificar un código QR. Los códigos QR, pueden en el peor de los casos llevarte a un sitio web o proponerte la descarga de una aplicación «maliciosa» , desde allí, la situación está bajo tu control.

Un virus debe ser parte de un archivo ejecutable, es decir, una parte de una aplicación que se ejecuta en el dispositivo móvil. Los códigos QR no tienen datos codificados en ejecutables. Así que, hay que insistir en este punto: los códigos QR no pueden ser virus. El último virus con relación con los QR conocido fue en Rusia. El QR te enlazaba con la descarga de una aplicación en Android, que tenía la capacidad de crear SMS que posteriormente se enviaban a un número de tarificación especial.