Arquivo BZIP2 (.bz2)

Padrão Padrão

Bzip2 (BZ2) é um utilitário de compressão Unix clássico e isento de patentes, criado por Julian Seward. Ele utiliza a transformada de Burrows-Wheeler para alcançar uma compressão significativamente mais densa do que o Gzip clássico.

Inspecionar e metadados

Sistemas operacionais e analisadores de arquivos identificam arquivos BZ2 inspecionando a sequência de bytes binários inicial:

Selecione ou solte os arquivos aqui

Conversão 100% privada no navegador - os arquivos nunca saem do seu dispositivo

ou colar Ctrl+V
Garantia de Privacidade com Zero Transmissão de Rede: 0 bytes enviados para servidores externos. Todo o processamento ocorreu localmente no sandbox do seu navegador.

Assinatura de Cabeçalho em Nível de Byte (Magic Bytes)

Sistemas operacionais e analisadores de arquivos identificam arquivos BZ2 inspecionando a sequência de bytes binários inicial:

ASSINATURA HEX (OFFSET 0):

42 5A 68

REPRESENTAÇÃO ASCII: BZh

Padronização: Padrão de Código Aberto Bzip2

Especificações Técnicas

Arquitetura do ContêinerCabeçalho de fluxo ('BZh' + dígito de tamanho de bloco 1-9) seguido por blocos de dados comprimidos e CRC de 32 bits
CompressãoTransformada de Burrows-Wheeler (BWT), transformada Move-to-Front (MTF) e codificação de Huffman
Ordem de Bytes (Endianness)Enquadramento de fluxo de bits Big-Endian
Espaços de CoresN/A (Fluxo de Compressão de Bytes)
Canais e EstruturaFluxo de bytes comprimido de arquivo único
Dimensões MáximasComprimento de fluxo ilimitado (suporta tamanhos de arquivos arbitrários)
TransparênciaPreservação de dados sem perdas 100% idêntica ao original
Streaming e ProgressivoStreaming sequencial bloco a bloco com somas de verificação CRC independentes por bloco

Matriz de Comparação Técnica: BZ2 vs Concorrentes

Atributo TécnicoBZ2 (Atual)GZXZZSTD
Algoritmo PrincipalTransformada de Burrows-Wheeler (BWT)Esvaziar (LZ77 + Huffman)LZMA / LZMA2Entropia de Estado Finito + LZ77
Compressão vs Gzip10% - 20% menor que o GzipPadrão de referência20% - 30% menor que o Gzip10% - 20% menor que o Gzip
Velocidade de DescompressãoLenta (~30-50 MB/s)Rápida (~300 MB/s)Moderada (~100 MB/s)Extremamente rápida (>1,5 GB/s)
Somas de Verificação de BlocosCRC de 32 bits por blocoCRC32 de fluxo únicoCRC64 de fluxoxxHash64 de fluxo

Modos Comuns de Corrupção e Guia de Recuperação Hex

A extração é abortada com 'bzip2: Data integrity error when decompressing'.

Causa Raiz: Bit invertido no bloco comprimido fazendo com que a matriz de permutação inversa BWT falhe na validação do CRC32.

Recuperação: Use o utilitário 'bzip2recover' para recuperar blocos não danificados ao redor do setor corrompido.

Análise de Segurança e Vetores de Ataque ao Analisador

As implementações do Bzip2 envolvem ordenação complexa de fluxos de bits e análise de tabelas de Huffman que historicamente sofreram falhas de estouro de inteiro.

Vetores de Ataque Conhecidos

  • Estouro de inteiro na alocação da matriz de ordenação BWT (ex.: CVE-2016-3189).
  • Escrita fora dos limites durante a montagem da tabela de decodificação de Huffman.
  • Negação de serviço através de padrões de entrada patológicos que causam tempos de ordenação BWT quadráticos no pior caso.

Melhores Práticas Defensivas: Decodifique arquivos BZ2 usando decodificadores WASM seguros contra falhas de memória com limites de memória impostos.

Origens Históricas e Marcos

2019Federico Mena Quintero moderniza a manutenção da base de código do bzip2 sob o bzip3 e iniciativas modernas de código aberto.
2000Lançamento da versão 1.0, estabilizando o formato bzip2 em distribuições Linux e gerenciadores de pacotes.
1996Julian Seward lança o bzip2 0.15 para substituir o formato bzip anterior que apresentava preocupações com patentes.

Principais Vantagens e Prós

  • Supera consistentemente o Gzip clássico em 10% a 20% em arquivos tarballs de código-fonte, logs do sistema e bancos de dados de texto.
  • A arquitetura de blocos independentes (100k a 900k) inclui somas de verificação CRC de 32 bits por bloco para verificação de integridade robusta.
  • Disponibilidade nativa universal em todas as distribuições de linha de comando Linux, BSD e macOS.

Limitações Técnicas e Contras

  • Velocidades de compressão e descompressão significativamente mais lentas em comparação com algoritmos modernos como o Zstandard.
  • Compressão apenas de arquivo único: requer associação com TAR (.tar.bz2) para empacotar múltiplos arquivos ou diretórios.
  • Maior uso de CPU durante a descompressão em comparação com o Gzip ou Zstd.

Curiosidades Técnicas

  • Os bytes mágicos 'BZh' significam 'Burrows-Wheeler Zip Huffman', seguidos por um dígito ('1' a '9') que indica o tamanho do bloco em centenas de quilobytes (ex.: 'BZh9' = 900 KB).
  • O código-fonte do Kernel do Linux foi distribuído exclusivamente no formato .tar.bz2 por mais de uma década antes de migrar para .xz.
  • A transformada de Burrows-Wheeler não comprime os dados diretamente; ela permuta a ordem dos caracteres para que letras idênticas fiquem agrupadas, tornando-as trivialmentecompressíveis por codificação de Huffman.

Perguntas Técnicas Frequentes

Qual é a diferença entre .gz e .bz2?

O .bz2 usa a transformada de Burrows-Wheeler para alcançar tamanhos de arquivo menores que o .gz, mas leva mais tempo para comprimir e descompressão.

Por que o bzip2 possui o comando 'bzip2recover'?

Como o bzip2 comprime dados em blocos independentes de 900 KB, cada um com seu próprio CRC, o bzip2recover pode extrair blocos não danificados mesmo se parte do arquivo estiver corrompida.

Como posso extrair um arquivo .tar.bz2?

Você pode descompactar arquivos .tar.bz2 diretamente no seu navegador web com o File2File.app sem precisar executar ferramentas de linha de comando.