¿Qué son los QR?

Seguramente en tu día a día has visto en sitios web, en redes sociales o en apps un código QR, esos pequeños cuadros que parecen vacas pixeladas cuya promesa es llevarte a sitios o brindarte información, pero, ¿te has preguntado como es que funcionan?

Antes de responder esa pregunta necesitamos algo de contexto.

Origen

Fueron creados por Denso Wave, una empresa de tecnología japonesa que en además vende robots, escáneres, soluciones RFID, soluciones IoT, entre otras cosas.

Podemos decir que son códigos de barras bidimensionales, ya que a diferencia de los códigos de barras convenciones, los QR tienen altura y anchura.

Los QR pueden ser leídos por escáneres e incluso smartphones con el software correcto, además son resistentes a la perdida de información, lo cual permite que incluso si una parte se tapa o se rompe el QR aún será legible.

Una gran ventaja de esta técnica es que podemos representar mucha más información que un código de barras. A continuación se listan las cantidades de caracteres que un QR puede mostrar:

  • Numérica: Máximo 7,089
  • Alfanumérica: Máximo 4,296
  • Binario (8-bit): 2,953
  • Kanji: 1,817

Otra ventaja de ser un estándar de origen japones es que soporta el uso de kanji.

Los QR pueden ser de colores, no solo blanco y negro

Pero… ¿Cómo hago uno?

Seguramente has llegado a esta entrada de blog por nuestro video de tiktok (de no ser así, te lo dejo acá). En nuestro video mostramos como generar uno haciendo uso de la API Google Charts, específicamente la sección de código QR.

Explicaremos el ejemplo del video: chart.googleapis.com/chart?cht=qr&chs=150×150&chl=https://mobile.unam.mx/blog/

  • https://chart.googleapis.com/chart? ⇾ Es la URL raíz, con ella hacemos la llamada a la API
  • cht=qr ⇾ Indica que queremos generar un código QR (con la API podemos hacer más que QR 👀)
  • chs=<width>x<height> ⇾ El tamaño de la imagen en pixeles en alto y ancho (Ojo, solo es de la imagen, no del QR en sí, como los QR deben ser cuadrados por definición, si especificas un ancho diferente al alto solo obtendrás un rectángulo blanco con un QR al centro)
  • chl=<data> ⇾ la información a codificar. Aquí podemos insertar números, URL, cadenas de texto, etc. Algo importante a destacar es que al ser un parámetro de una URL, la información debe ser adecuado para una URL (por ejemplo, los espacios deben ser representados por “%20”), además considera que las URL no pueden tener más de 2000 caracteres, si necesitas introducir más debes enviar tu información usando un POST (una solicitud HTTP que en entradas futuras vamos a abordar).
Esta es la imagen más pequeña que he podido generar, de 29×29 pixeles. Un tamaño menor a eso devuelve únicamente una imagen en blanco.

Usos

En la industria son usados para operaciones logísticas, principalmente para catalogar inventarios, rastreo de bienes en envíos, validación de boletos, prescripciones médicas, etc.
Un uso interesante y más cotidiano es poder mostrar hipervínculos en lugares físicos, así tenemos la comodidad de acceder a sitios web únicamente escaneando una imagen sin tener que escribir largas URL.

Es necesario señalar que un QR al igual que una URL sospechosa puede ser usado de formas maliciosas, así que recomendamos no escanear cualquier QR que veas en sitios públicos, pues puedes sufrir un ataque de phishing.

Referencias

  • https://www.qrcode.com/en/about/standards.html
  • https://developers.google.com/chart/infographics/docs/qr_codes
  • https://www.denso-wave.com/en/system/qr/

Por Ricardo Juarez

Desarrollador full stack del laboratorio UNAM Mobile.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *