Converter Deflate para GZIP
Converter DEFLATE bruto para um fluxo GZIP adiciona os dados compactados a um contêiner padrão com cabeçalhos de metadados, para que sistemas operacionais e ferramentas web possam lê-los corretamente.
Comparação de formatos e especificações técnicas
| Especificação | DEFLATE | GZIP |
|---|---|---|
| Tipo MIME | application/ | application/ |
| Tipo | fluxo DEFLATE puro | contêiner de fluxo DEFLATE |
| Compressão | LZ77 + codificação de Huffman | DEFLATE (RFC 1951) |
| Especificação padrão | IETF RFC 1950 / RFC 1951 | IETF RFC 1952 |
| Assinatura binária (magic bytes) | 78 01 / 78 9C / 78 DA (zlib header bytes) | 1F 8B (gzip ID1/ID2) |
Visão geral e aplicações do formato
Fluxos DEFLATE brutos contêm bytes compactados sem cabeçalhos de arquivo nem somas de verificação no final. Navegadores e ferramentas de rede muitas vezes têm dificuldade para processar esses fluxos sem metadados como nome do arquivo original, data de modificação e identificador do sistema operacional. Envolver os dados brutos em um contêiner GZIP resolve esses problemas de compatibilidade. Desenvolvedores encontram fluxos DEFLATE brutos em protocolos de rede como a compactação HTTP, em blocos de imagens PNG e em arquivos ZIP. Quando precisam salvá-los como arquivos independentes para ferramentas de linha de comando ou downloads comuns na web, convertem os dados para GZIP. Assim, os utilitários de descompactação reconhecem rapidamente o tipo de arquivo e extraem o conteúdo sem erros.
Especificações técnicas e análise de codecs
DEFLATE bruto é um fluxo de bits definido pela RFC 1951, que usa correspondência LZ77 e codificação Huffman sem cabeçalhos de enquadramento nem assinatura fixa. O tipo MIME application/zlib descreve um fluxo DEFLATE envolvido por zlib, conforme a RFC 1950, e não um fluxo DEFLATE bruto. GZIP (application/gzip) envolve os dados DEFLATE em um cabeçalho iniciado pelos bytes 1F 8B e um rodapé com uma soma de verificação CRC32 e o tamanho descompactado módulo 2^32.
Compatibilidade com sistemas operacionais e navegadores
Fluxos GZIP são amplamente compatíveis com sistemas operacionais modernos, incluindo Linux, macOS e Windows. Ferramentas de linha de comando como gzip, gunzip e 7-Zip leem arquivos GZIP nativamente. Navegadores descompactam GZIP automaticamente ao receber respostas HTTP dos servidores. Já fluxos DEFLATE brutos costumam exigir rotinas de análise próprias em JavaScript ou módulos WebAssembly.
Informações úteis
Confira sempre se a ferramenta de descompactação lê corretamente o rodapé GZIP. Se a soma de verificação CRC32 no final estiver corrompida, a extração será interrompida, mesmo que os dados DEFLATE estejam intactos.
Perguntas frequentes
Como converter DEFLATE bruto para GZIP sem perder dados?
Os dois formatos usam compactação sem perdas baseada no mesmo algoritmo DEFLATE. A conversão apenas adiciona cabeçalhos de contêiner e somas de verificação aos bytes já compactados, sem perda de dados.
Qual é a diferença entre DEFLATE Bruto e um Fluxo GZIP?
DEFLATE bruto contém apenas os dados compactados, sem cabeçalhos nem rodapés que identifiquem o arquivo. O fluxo GZIP é um contêiner padronizado que adiciona um cabeçalho de 10 bytes e uma soma de verificação final de 8 bytes aos dados DEFLATE brutos para registrar metadados e detectar erros.