Palabra de código
Una palabra de código (codeword) es la unidad fundamental de datos dentro de un código QR: un bloque de longitud fija de 8 bits (1 byte). Después de que los datos de entrada se convierten en un flujo de bits según el modo de codificación, se dividen en segmentos de 8 bits para formar palabras de código de datos. Luego se calculan y añaden palabras de código de corrección de errores Reed-Solomon, y la secuencia completa se organiza en el patrón de módulos.
El número total de palabras de código está determinado por la versión (tamaño) del código QR y el nivel de corrección de errores. Por ejemplo, la Versión 1 (21×21 módulos) con nivel L tiene 26 palabras de código totales: 19 para datos y 7 para corrección. La Versión 40 (177×177 módulos) con nivel L alcanza 3.706 palabras de código.
Comprender las palabras de código explica por qué aumentar el nivel de corrección reduce la capacidad de datos. El total de palabras de código permanece igual, pero una mayor proporción se asigna a la corrección de errores, dejando menos para los datos reales.
Palabras de código de datos frente a las de corrección de errores
Las palabras de código se dividen en dos roles. Las palabras de código de datos son la propia cadena de entrada, convertida en un flujo de bits y dividida en bloques de 8 bits: la carga útil que transporta el código QR. Las palabras de código de corrección de errores son datos redundantes de recuperación calculados a partir de las de datos mediante la codificación Reed-Solomon, lo que permite restaurar el contenido aunque la suciedad o un daño hagan ilegibles algunos módulos. Al escanear, el decodificador primero usa las palabras de corrección para detectar y reparar la corrupción, y luego decodifica las palabras de datos a la cadena original.
¿Cómo determinan las palabras de código las tablas de capacidad?
Las cifras de capacidad de las tablas de especificaciones (cuántos dígitos o caracteres caben en la versión X) se derivan todas del número de palabras de código de datos. Por ejemplo, la Versión 1 con nivel L tiene 19 palabras de código de datos = 152 bits; al restar el indicador de modo y el indicador de número de caracteres, y dividir el resto por los bits por carácter de cada modo (10/3 bits en Modo Numérico, 5,5 en Alfanumérico, 8 en Byte), se obtienen las mismas cifras que muestran las tablas. El terminador añadido al final del flujo de bits codificado y los bits restantes que rellenan los módulos sobrantes tras la colocación son conceptos vecinos de este mismo mecanismo.