Dicionário

O que é bit flag?

Bit Flag, também conhecido como bit field, é um metadado que você pode encontrar em vários tipos de arquivos. Descubra o que ele significa, de onde vem e o que diz sobre o seu arquivo.

bit-flag

Um bit flag reúne várias respostas de sim ou não em um único número. Cada dígito binário desse número é uma chave separada: ligada ou desligada, definida ou não definida. É uma forma compacta de um programa registrar alguns pequenos fatos no espaço de um único valor.

De onde vem o valor

Bit flags, também chamados de bit fields, vêm da programação. Em linguagens como C e C++, eles permitem que um desenvolvedor armazene muitos valores booleanos dentro de um único byte ou de um conjunto de bytes, com cada bit ou grupo de bits sendo endereçado separadamente. Formatos de arquivo usam a mesma ideia para registrar opções sobre seu conteúdo.

Em um relatório de metadados, é mais provável que você encontre um bit flag em um arquivo ZIP e nos formatos do Office que, por baixo, são contêineres ZIP: documentos DOCX, XLSX e PPTX. Arquivos ODT e e-books EPUB também armazenam esse flag, mas um relatório pode não exibi-lo. O formato ZIP atribui a cada item dentro do arquivo um bit flag de uso geral, definido pelo programa que criou o arquivo. Ninguém digita esse valor manualmente.

Como ler o valor

O flag geralmente é exibido em hexadecimal, um sistema numérico que conta de dezesseis em dezesseis e é escrito com um 0x no início. Um valor de 0x0 significa que nenhum interruptor está ativado, o que é o caso comum. Valores como 0x2 ou 0x808 significam que um ou mais bits estão ligados, e você os lê convertendo o número para binário e observando cada posição.

Três dos interruptores do ZIP valem a pena conhecer:

  • o primeiro bit marca o item como criptografado, ou seja, ele precisa de uma senha
  • o quarto bit indica que o tamanho e o checksum do item foram gravados depois dos dados, e não antes, que é o que acontece quando um arquivo compactado é gerado em tempo real
  • o décimo segundo bit indica que o nome do item está armazenado em UTF-8, a codificação de caracteres que pode representar acentos, alfabetos não latinos e emoji

Por que isso é importante para o seu arquivo

O flag explica comportamentos que, de outra forma, pareceriam misteriosos. É nele que um documento protegido por senha informa que está bloqueado, antes que qualquer programa peça a senha. É por isso que alguns apps não conseguem informar o tamanho de um item dentro de um arquivo compactado até que ele seja descompactado. E é por isso que nomes de arquivo com acentos ou caracteres chineses aparecem perfeitamente em um app de descompactação e como texto sem sentido em outro: um deles respeita esse interruptor de UTF-8 e o outro pressupõe uma codificação mais antiga.

O que esse campo não faz é descrever qualidade, e ele não guarda nenhuma informação pessoal. É uma nota técnica sobre como o arquivo foi gravado, útil quando algo não abre e você quer saber o motivo.