DEFLATE bruto (.deflate)
IETF PadrãoDEFLATE é um dos algoritmos de compactação de dados sem perdas amplamente utilizados na história da computação. Há mais de três décadas, é usado em arquivos ZIP, fluxos GZIP, imagens PNG e na compactação HTTP da web.
Converter GZIP para DEFLATE
Conversor gratuito de GZIP para DEFLATE no navegador. Converta arquivos instantaneamente no seu dispositivo.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos DEFLATE pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos DEFLATE pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
O DEFLATE bruto não tem assinatura fixa; fluxos encapsulados em zlib começam com bytes CMF/FLG variáveisREPRESENTAÇÃO ASCII: Sem assinatura fixa
Padronização: IETF RFC 1951 / RFC 1950 (zlib)
Especificações técnicas
| Estrutura do contêiner | Fluxo de bits bruto da RFC 1951 ou fluxo zlib da RFC 1950, com cabeçalho de 2 bytes e soma de verificação Adler-32 |
| Compressão | Dicionário deslizante LZ77 (janela de até 32 KB) combinado com codificação de entropia Huffman estática ou dinâmica |
| Ordem dos bytes (endianness) | Ordem little-endian para empacotamento de bits |
| Espaços de cor | Não se aplica (fluxo de compactação de dados) |
| Canais e Estrutura | Fluxo de dados binários ou de texto bruto |
| Dimensões Máximas | Comprimento de fluxo ilimitado |
| Transparência | Preserva os dados sem perdas, com correspondência exata bit a bit |
| Streaming e Progressivo | O fluxo de bits baseado em blocos permite transmitir bytes continuamente |
Matriz de comparação técnica: DEFLATE e formatos concorrentes
| Atributo técnico | DEFLATE (Atual) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Padronização | IETF RFC 1951 (Bruto) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Janela deslizante | Máximo de 32 quilobytes | Máximo de 32 quilobytes | Até 16 megabytes | Até 2 gigabytes |
| Modo de soma de verificação | Adler-32 (no cabeçalho zlib) | CRC-32 (no cabeçalho gzip) | Nenhuma soma de verificação integrada ao fluxo | xxHash64 (hash rápido de 64 bits) |
| Usos comuns | Imagens PNG, fluxos PDF, ZIP | Arquivos .tar.gz no Unix, gzip via HTTP | Fontes da web (WOFF2), br via HTTP | Kernel Linux, bancos de dados e jogos |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
A descompactação falha com o erro "Z_DATA_ERROR: incorrect data check".
Causa principal: A soma de verificação Adler-32 de 4 bytes no fim do fluxo zlib não corresponde aos dados.
Recuperação: Ignore a verificação Adler-32 usando inflate bruto ou repare o arquivo com a ferramenta de recuperação Deflate do File2File.app.
Análise de segurança e vetores de ataque a analisadores
Analisadores DEFLATE devem validar rigorosamente os códigos de construção da árvore Huffman para evitar gravações de ponteiros fora dos limites.
Vetores de ataque conhecidos
- Leituras inválidas de memória causadas por tabelas de comprimento de códigos incompletas ou superdimensionadas na árvore Huffman dinâmica.
- Bomba de descompactação que expande arquivos minúsculos para centenas de gigabytes de dados na memória.
- Leitura além dos limites do buffer em códigos de distância não validados da janela deslizante.
Melhores práticas defensivas: Defina limites máximos para a memória alocada e a taxa de expansão durante a descompactação.
Origens históricas e marcos
Principais vantagens
- É um padrão global implementado em hardware, sistemas operacionais e ambientes de execução de linguagens de programação.
- Seu design não tem patentes nem royalties, garantindo acesso aberto em todo o setor de computação.
- Descompacta rapidamente e usa pouca memória: requer apenas uma janela deslizante de 32 KB.
Limitações técnicas e desvantagens
- A janela deslizante é limitada a 32 KB, o que reduz a eficiência da compactação em arquivos grandes com dados redundantes distantes.
- Compacta menos os recursos modernos da web do que algoritmos mais recentes, como Brotli e Zstandard.
- Fluxos DEFLATE brutos não têm metadados próprios nem estrutura de contêiner sem os cabeçalhos zlib ou gzip.
Curiosidades técnicas
- Phil Katz criou o DEFLATE após ser processado pela Unisys por causa do algoritmo LZW patenteado usado nos primeiros utilitários PKARC.
- Os bytes 78 9C no cabeçalho zlib indicam compactação padrão; 78 01, compactação baixa; e 78 DA, compactação máxima.
- Todas as imagens PNG usam DEFLATE para compactar os blocos de pixels IDAT.
Perguntas técnicas frequentes
Qual é a diferença entre DEFLATE, zlib e gzip?
DEFLATE é o algoritmo de compactação bruto (RFC 1951). O zlib o encapsula com um cabeçalho de 2 bytes e uma soma de verificação Adler-32 (RFC 1950). O gzip acrescenta metadados de arquivo e uma soma de verificação CRC-32 (RFC 1952).
Por que o PNG usa o DEFLATE?
O formato PNG foi criado em 1995 para substituir o GIF sem usar o algoritmo LZW patenteado. Para a compactação, adotou o DEFLATE, aberto e livre de royalties.
Como posso descomprimir um arquivo .deflate bruto?
Você pode descompactar fluxos brutos de bytes DEFLATE ou zlib em arquivos originais diretamente no navegador, usando o File2File.app.
Conversões de DEFLATE relacionadas
Converter um fluxo GZIP para DEFLATE bruto remove o contêiner externo e os metadados do cabeçalho, mantendo apenas os dados compactados para protocolos de rede especializados e arquivos de baixo nível.
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.