DEFLATE raw (.deflate)
IETF EstándarDEFLATE es el algoritmo de compresión de datos sin pérdidas ampliamente utilizado en la historia de la informática; se usa en archivos ZIP, flujos GZIP, imágenes PNG y compresión web HTTP desde hace más de tres décadas.
Convertir de GZIP a DEFLATE
Convertidor gratuito de GZIP a DEFLATE en el navegador. Convierte archivos al instante en tu dispositivo.
Inspección y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de DEFLATE inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de DEFLATE inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):
DEFLATE sin procesar no tiene una firma fijaREPRESENTACIÓN ASCII: No tiene una firma fija
Estandarización: IETF RFC 1951 / RFC 1950 (zlib)
Especificaciones técnicas
| Arquitectura del contenedor | Flujo de bits bruto de RFC 1951 o flujo envuelto en zlib de RFC 1950 con cabecera de 2 bytes y suma de comprobación Adler-32 |
| Compresión | Diccionario deslizante LZ77 (ventana de hasta 32 KB) combinado con codificación de entropía de Huffman dinámica/estática |
| Orden de bytes (Endianness) | Orden de empaquetado de bits little-endian |
| Espacios de color | No aplicable (flujo de compresión de datos) |
| Canales y estructura | Flujo de datos binarios o de texto sin procesar |
| Dimensiones máximas | Longitud de flujo ilimitada |
| Transparencia | Reproducción de datos sin pérdidas exacta bit a bit al 100 % |
| Streaming y progresivo | El flujo de bits basado en bloques admite la transmisión continua de cualquier cantidad de bytes |
Matriz de comparación técnica: DEFLATE frente a la competencia
| Atributo técnico | DEFLATE (Actual) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Estandarización | IETF RFC 1951 (en crudo) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Ventana deslizante | Máximo de 32 kilobytes | Máximo de 32 kilobytes | Hasta 16 megabytes | Hasta 2 gigabytes |
| Modo de suma de comprobación | Adler-32 (en contenedor zlib) | CRC-32 (en contenedor gzip) | Ninguna suma de comprobación integrada en el flujo | xxHash64 (hash rápido de 64 bits) |
| Uso diario | Imágenes PNG, flujos PDF y archivos ZIP | Archivos .tar.gz de Unix y gzip HTTP | Fuentes web (WOFF2), HTTP br | Kernel de Linux, bases de datos y videojuegos |
Modos de corrupción comunes y guía de recuperación hexadecimal
La descompresión falla con «Z_DATA_ERROR: comprobación de datos incorrecta».
Causa raíz: Discrepancia en la suma de comprobación Adler-32 de 4 bytes al final del flujo envuelto en zlib.
Recuperación: Omite la verificación de Adler-32 usando inflate sin envoltura o repara el archivo con la herramienta Deflate Recovery de File2File.app.
Análisis de seguridad y vectores de ataque al analizador
Los analizadores de DEFLATE deben validar estrictamente los códigos usados para construir el árbol de Huffman para evitar escrituras de punteros fuera de los límites.
Vectores de ataque conocidos
- Tablas de longitudes de códigos incompletas o sobrecargadas en árboles de Huffman dinámicos, que provocan lecturas de memoria no válidas.
- Bomba de descompresión (bomba zip) que expande cargas útiles diminutas en cientos de gigabytes de RAM.
- Lectura excesiva de búfer en códigos de distancia de ventana deslizante no validados.
Mejores prácticas defensivas: Limita la memoria máxima y la tasa de expansión durante la descompresión.
Orígenes históricos e hitos
Ventajas principales
- El estándar mundial indiscutible: implementado en hardware, sistemas operativos y todos los entornos de ejecución de lenguajes de programación.
- Diseño sin patentes y libre de regalías que garantiza acceso abierto en toda la industria informática.
- Descompresión rápida con un consumo de memoria mínimo (solo requiere memoria de ventana deslizante de 32 KB).
Limitaciones técnicas
- Ventana deslizante limitada a 32 KB, lo que reduce la eficacia de compresión en archivos grandes con redundancias distantes.
- Menores tasas de compresión en recursos web modernos en comparación con algoritmos más nuevos como Brotli y Zstandard.
- Los flujos DEFLATE brutos carecen de metadatos autodescriptivos o encapsulado en un contenedor sin los envoltorios zlib o gzip.
Curiosidades técnicas interesantes
- Phil Katz inventó DEFLATE después de ser demandado por Unisys debido al algoritmo patentado LZW utilizado en las primeras utilidades PKARC.
- Los bytes de cabecera estándar de zlib '78 9C' indican compresión predeterminada, '78 01' compresión de baja intensidad y '78 DA' compresión de máxima intensidad.
- Cada imagen PNG en la Tierra utiliza DEFLATE para comprimir sus fragmentos de píxeles IDAT.
Preguntas técnicas frecuentes
¿Cuál es la diferencia entre DEFLATE, zlib y gzip?
DEFLATE es el algoritmo de compresión sin procesar (RFC 1951). Zlib envuelve DEFLATE con una cabecera de 2 bytes y una suma de comprobación Adler-32 (RFC 1950). Gzip envuelve DEFLATE con metadatos de archivo y una suma de comprobación CRC-32 (RFC 1952).
¿Por qué PNG utiliza DEFLATE?
El formato PNG se creó en 1995 para reemplazar a GIF sin utilizar algoritmos LZW patentados, eligiendo DEFLATE, que es abierto y libre de regalías, para la compresión.
¿Cómo puedo descomprimir un archivo .deflate sin procesar?
Puedes descomprimir flujos de bytes DEFLATE o zlib y recuperar los archivos originales desde File2File.app, directamente en tu navegador.
Pares de conversión de DEFLATE relacionados
Convertir un flujo GZIP a DEFLATE sin procesar elimina el contenedor de archivo exterior y los metadatos del encabezado, dejando solo la carga comprimida para protocolos de red especializados y archivos de bajo nivel.
La conversión de DEFLATE sin procesar a un flujo GZIP envuelve la carga útil comprimida dentro de un contenedor estándar con encabezados de metadatos para que los sistemas operativos y las herramientas web puedan leerla adecuadamente.