Rechercher un outil
Compression Deflate

Outil pour analyser, compresser et décompresser facilement des fichiers avec le format Deflate (RFC 1950). Réduire la taille des données pour le stockage et le transfert web grace à la compression Deflate.

Résultats

Compression Deflate -

Catégorie(s) : Compression

Partager
Partager
dCode et plus

dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !


Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !


Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Compression Deflate' gratuit ! Merci !

Compression Deflate

Décompresseur Deflate

Chargement en cours...
(si ce message ne disparait pas, actualiser la page)

Analyseur de Metadonnées

Compresseur Deflate

Chargement en cours...
(si ce message ne disparait pas, actualiser la page)


Réponses aux Questions (FAQ)

Qu'est-ce que Deflate ? (Définition)

Deflate (parfois écrit DEFLATE ou Flate) est un algorithme de compression de données sans perte, devenu un standard universel.

Son principe combine deux techniques : l'algorithme LZ77 pour repérer et éliminer les redondances, suivi d'un codage Huffman pour représenter les données de manière plus compacte.

Décrit formellement dans la RFC 1951, il est la pierre angulaire de formats omniprésents comme ZIP, PNG ou la compression HTTP.

Comment fonctionne la compression avec Deflate ?

La compression Deflate s'effectue en trois étapes séquentielles :

— Analyse LZ77 (par fenêtre glissante) : Examiner les données avec un tampon de recherche pour identifier les séquences de caractères qui se répètent. Remplacer ces séquences par une référence courte (une distance et une longueur) pointant vers leur première occurrence.

Exemple : Pour compresser DECODEAVECDCODE, parcourir la phrase et trouver des répétitions comme CODE qui est présent 2 fois. LZ77 le remplace par une référence : (distance=9, longueur=4). Le flux intermédiaire devient : D,E,C,O,D,E,A,V,E,C,(10-4)

— Codage Huffman : Compresser une seconde fois la sortie de l'étape LZ77 (les caractères bruts, les longueurs et les distances) en assignant des codes binaires de longueur variable. Les symboles les plus fréquents reçoivent les codes les plus courts.

Exemple : Compter la fréquence des symboles dans ce nouveau flux. E, D et C sont les plus fréquentes (E pourrait devenir 01, D -> 100 etc.) et associer des codes plus longs aux autres.

— Structuration en blocs : Organiser le tout en une série de blocs de données compressées. Chaque bloc possède un en-tête indiquant le type de codage Huffman utilisé (statique, dynamique ou non compressé).

Comment fonctionne la décompression avec Deflate ?

La décompression est le processus inverse de la compression, et Deflate la rend très efficace :

— Lire l'en-tête du bloc pour déterminer comment les données sont encodées (notamment le type de table Huffman).

— Reconstruire les arbres de Huffman (si le bloc utilise des tables dynamiques) à partir des informations stockées dans le flux.

— Lire et décoder le flux de données : Utiliser les arbres de Huffman pour convertir les bits en séquences de symboles (caractères bruts, longueurs et distances).

— Appliquer LZ77 en sens inverse : Pour chaque référence (distance, longueur) lue, copier la séquence correspondante depuis les données déjà décompressées (le tampon de sortie) pour reconstituer le fichier original.

Quels sont les trois types de blocs dans un flux Deflate ?

Bloc non compressé (BTYPE=00) : Les données sont stockées telles quelles, avec un peu de remplissage pour s'aligner sur les octets. Utile quand un segment de données est déjà compressé ou aléatoire (donc non compressible).

Bloc compressé avec les tables de Huffman statiques (BTYPE=01) : Utilise des arbres de Huffman prédéfinis, optimisés pour des données textuelles génériques. Économise l'espace de ne pas avoir à transmettre les tables.

Bloc compressé avec les tables de Huffman dynamiques (BTYPE=10) : Transmet les arbres de Huffman optimisés spécifiquement pour les données du bloc juste avant les données. C'est le plus flexible et offrant généralement la meilleure compression.

Quelle est la différence entre Deflate, Zlib et GZIP ?

Il est crucial de distinguer l'algorithme de compression de ses encapsulations :

Deflate (RFC 1951) : C'est l'algorithme de compression brut, le contenu lui-même.

Zlib (RFC 1950) : C'est un format d'emballage léger conçu pour les flux de données en mémoire. Il ajoute un petit en-tête et un checksum Adler-32 pour vérifier l'intégrité des données compressées.

GZIP (RFC 1952) : C'est un format de fichier plus complet, conçu pour la compression de fichiers individuels. Il ajoute un en-tête contenant le nom du fichier original, son horodatage, et utilise un checksum CRC-32 plus robuste pour vérifier l'intégrité des données originales après décompression.

En résumé : GZIP et Zlib utilisent tous les deux l'algorithme Deflate pour compresser le cœur des données, mais ils l'emballent différemment selon l'usage.

Comment reconnaître un flux Deflate ? (Identification)

Un flux Deflate brut n'a pas de marqueur universel.

Il est donc difficile de trouver le début du flux en partant à la recherche de la structure d'un premier bloc Deflate (les premiers bits indiquent BFINAL et BTYPE).

En pratique, on rencontre rarement un flux Deflate nu. Il est presque toujours encapsulé dans un conteneur comme un fichier ZIP, PNG, ou dans un flux HTTP.

Le plus simple est donc de vérifier l'en-tête du format conteneur (ZIP, PNG, etc.) qui lui, est facilement identifiable.

Quand Deflate a-t-il été inventé ?

Deflate a été conçu au tout début des années 1990 par Phil Katz pour remplacer les algorithmes sous brevet utilisés dans les premières versions de PKZIP.

Sa normalisation dans les RFC date de 1996, ce qui a facilité son adoption dans les formats ZIP, PNG et même HTTP (Content-Encoding: deflate), entre autres.

Code source

dCode se réserve la propriété du code source pour "Compression Deflate". Tout algorithme pour "Compression Deflate", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Compression Deflate" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "Compression Deflate" ou tout autre élément ne sont pas publics (sauf licence open source explicite). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.

Citation

Le contenu de la page "Compression Deflate" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source (Licence de libre diffusion Creative Commons CC-BY).

L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.

Pour citer dCode.fr sur un autre site Internet, utiliser le lien : https://www.dcode.fr/compression-deflate

Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Compression Deflate sur dCode.fr [site web en ligne], consulté le 17/11/2025, https://www.dcode.fr/compression-deflate

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !

Questions / Commentaires

Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Compression Deflate' gratuit ! Merci !


https://www.dcode.fr/compression-deflate
© 2025 dCode — La collection d'outils incontournable pour les jeux, les maths et les énigmes.
 
Un problème ?