Códigos QR

Puedes crear un código QR sobre la marcha con una solicitud GET de URL.

Descripción general

Los códigos QR son un tipo popular de código de barras bidimensional. También se conocen como vínculos duros o hipervínculos del mundo físico. Los códigos QR almacenan hasta 4,296 caracteres alfanuméricos de texto arbitrario. Este texto puede ser cualquier cosa, por ejemplo, una URL, información de contacto, un número de teléfono o incluso un poema. Los códigos QR se pueden leer con un dispositivo óptico con el software adecuado. Estos dispositivos varían desde lectores de códigos QR hasta teléfonos celulares.

Sintaxis

URL raíz: https://chart.googleapis.com/chart?

Las solicitudes de código QR admiten los siguientes parámetros de consulta de URL después del signo "? en la URL raíz:

Parámetro Obligatorio u opcional Descripción
cht=qr Obligatorio Especifica un código QR.
chs=<width>x<height> Obligatorio Tamaño de la imagen.
chl=<data> Obligatorio Los datos que se codificarán Los datos pueden ser dígitos (0-9), caracteres alfanuméricos, bytes de datos binarios o kanji. No puedes combinar tipos de datos dentro de un código QR. Los datos deben estar codificados en UTF-8 como URL. Ten en cuenta que las URLs tienen una longitud máxima de 2,000 bytes. Por lo tanto, si deseas codificar más de 2,000 bytes (sin incluir los otros caracteres de URL), deberás enviar tus datos mediante POST.
choe=<output_encoding> Opcional Cómo codificar los datos en un código QR Estos son los valores disponibles:
  • UTF-8 (predeterminado)
  • Shift_JIS
  • ISO-8859-1
chld=<error_correction_level>|<margin> Opcional
  • error_correction_level: Los códigos QR admiten cuatro niveles de corrección de errores para permitir la recuperación de datos ocultos, faltantes o mal leídos. Se logra una mayor redundancia a costa de poder almacenar menos datos. Consulta el apéndice para obtener más información. Estos son los valores admitidos:
    • L (predeterminado) permite recuperar hasta un 7% de pérdida de datos
    • M: Permite recuperar hasta un 15% de pérdida de datos.
    • Q: Permite recuperar hasta un 25% de pérdida de datos.
    • H: Permite recuperar hasta un 30% de pérdida de datos.
  • margen: El ancho del borde blanco alrededor de la parte de datos del código. Se encuentran en filas, no en píxeles. (Consulta a continuación para obtener información sobre las filas de un código QR). El valor predeterminado es 4.

 

Ejemplo:

Código QR
cht=qr
chl=Hello+world
choe=UTF-8

Detalles del código QR [lectura opcional]

A continuación, se proporciona más información sobre el funcionamiento de los códigos QR. No es necesario que lo sepas para generar un código QR.

Los códigos QR son cuadrados, con la misma cantidad de filas y columnas. Hay un conjunto fijo de tamaños de códigos QR: de 21 a 177 filas o columnas, que aumentan en pasos de cuatro. Cada configuración se denomina versión. Cuantas más filas o columnas haya, más datos podrá almacenar el código. Este es un resumen de las versiones:

  • La versión 1 tiene 21 filas y 21 columnas, y puede codificar hasta 25 caracteres alfanuméricos
  • La versión 2 tiene 25 filas y 25 columnas, y puede codificar hasta 47 caracteres alfanuméricos
  • La versión 3 tiene 29 filas y 29 columnas, y puede codificar hasta 77 caracteres alfanuméricos
  • ...
  • La versión 40 tiene 177 filas y 177 columnas, y puede codificar hasta 4,296 caracteres alfanuméricos

No confundas la cantidad de filas y columnas con el tamaño de la imagen del código QR. El tamaño de píxeles del código se determina usando chs, como de costumbre.

La API determinará qué versión usar, según la cantidad de datos que proporciones.

Se mostrará la versión adecuada del código QR según la cantidad de caracteres que proporciones. Por ejemplo, si proporcionas 55 caracteres alfanuméricos, obtendrás un código QR de versión 3, aunque esto puede cambiar si especificas un nivel de corrección de errores (EC) de manera explícita con el parámetro chld.

Antes de generar el código QR, considera qué tipo de dispositivo se usa para leerlo: los mejores lectores de códigos QR pueden leer los códigos de la versión 40 y los dispositivos móviles solo pueden leer hasta la versión 4.

En la siguiente tabla, se resumen las características de algunas versiones diferentes:

Versión Filas x Columnas Nivel de las conversiones avanzadas Cantidad máxima de caracteres por nivel de conversiones avanzadas y tipo de carácter
Dígitos: 0 a 9 Alfanuméricos:
De 0 a 9, de la A a la Z,
espacios, $ % * + - . / :
Objeto binario Kanji
1 21 × 21 L 41 25 17 10
M 34 20 14 8
P. 27 16 11 7
H 17 10 7 4
2 25 × 25 L 77 47 32 20
M 63 38 26 16
P. 48 29 20 12
H 34 20 14 8
3 29 × 29 L 127 77 53 32
M 101 61 42 26
P. 77 47 32 20
H 58 35 24 15
4 33 × 33 L 187 114 78 48
M 149 90 62 38
P. 111 67 46 28
H 82 50 34 21
10 57 × 57 L 652 395 271 167
M 513 311 213 131
P. 364 221 151 93
H 288 174 119 74
40 177 × 177 L 7,089 4.296 2,953 1.817
M 5.596 3.391 2.331 1.435
P. 3,993 2 420 1,663 1,024
H 3 057 1.852 1.273 784

Información adicional y estándares

El estándar de códigos QR es una marca registrada de Denso Wave, Inc.

La ISO vende las especificaciones en inglés en su sitio. La versión japonesa es gratuita.

Los estándares de códigos QR se aprueban de la siguiente manera:

  • AIM International (Automatic Identification Manufacturers International), (ISS, código QR), en octubre de 1997.
  • JEIDA (Asociación Japonesa de Desarrollo de la Industria Electrónica) (JEIDA-55) en marzo de 1998.
  • JIS (Estándares industriales japoneses) (JIS X 0510) en enero de 1999.
  • ISO/IEC18004) en junio de 2000.

El software de lectura de códigos QR está disponible desde muchas fuentes. Google ofrece una biblioteca de lectores de códigos QR, Zebra Crossing (ZXing), de forma gratuita. Para obtener más información, visita http://code.google.com/p/zxing/.

Consulta el contenido de códigos de barras para obtener una guía aproximada sobre la codificación estándar de información en códigos de barras.