Diccionario

¿Qué es un bit de bandera?

El indicador de bits, también conocido como campo de bits, es metadatos que puedes encontrar en varios tipos de archivos. Descubre qué significa, de dónde viene y qué dice sobre tu archivo.

bit-flag

Un indicador de bits reúne varias respuestas de sí o no en un solo número. Cada dígito binario de ese número es un interruptor independiente: encendido o apagado, activado o desactivado. Es una forma compacta para que un programa registre varios datos pequeños en el espacio de un solo valor.

De dónde proviene el valor

Los indicadores de bits, también llamados campos de bits, vienen de la programación. En lenguajes como C y C++ permiten a un desarrollador almacenar muchos valores booleanos dentro de un solo byte o de un conjunto de bytes, con cada bit o grupo de bits accesible por separado. Los formatos de archivo toman la misma idea para registrar opciones sobre su contenido.

En un informe de metadatos, lo más probable es que te encuentres una marca de bits en un archivo ZIP y en los formatos de Office que internamente son contenedores ZIP: documentos DOCX, XLSX y PPTX. Los archivos ODT y los libros electrónicos EPUB también almacenan esta marca, pero es posible que un informe no la muestre. El formato ZIP asigna a cada elemento dentro del archivo comprimido una marca de bits de propósito general, y el programa que creó el archivo la establece. Nadie escribe este valor a mano.

Cómo leer el valor

El indicador suele mostrarse en hexadecimal, un sistema numérico que cuenta de dieciséis en dieciséis y se escribe con un prefijo 0x. Un valor de 0x0 significa que no hay interruptores activados, que es el caso normal. Valores como 0x2 o 0x808 indican que uno o más bits están encendidos, y se leen convirtiendo el número a binario y examinando cada posición.

Tres de los interruptores ZIP merece la pena conocer:

  • el primer bit marca el elemento como cifrado, es decir, que necesita una contraseña
  • el cuarto bit indica que el tamaño y la suma de comprobación del elemento se escribieron después de los datos en lugar de antes, que es lo que ocurre cuando un archivo se genera sobre la marcha
  • el duodécimo bit indica que el nombre del elemento se almacena como UTF-8, la codificación de caracteres que puede representar acentos, alfabetos no latinos y emoji

Por qué es importante para tu archivo

El indicador explica comportamientos que de otro modo resultarían misteriosos. Es donde un documento protegido con contraseña anuncia que está bloqueado, antes de que ningún programa te pida la contraseña. Es la razón por la que algunas apps no pueden decirte cuánto ocupa un elemento dentro de un archivo hasta que lo han extraído. Y es por lo que los nombres de archivo con acentos o caracteres chinos aparecen perfectamente en una app de descompresión y como texto sin sentido en otra: una respeta ese interruptor UTF-8 y la otra supone una codificación más antigua.

Lo que este campo no hace es describir la calidad, ni contiene información personal. Es una nota técnica sobre cómo se escribió el archivo, útil cuando algo no se abre y quieres saber por qué.