Codage de Huffman · démonstration interactive
Chaque caractère mérite
sa juste longueur
Tapez un texte : HuffZip compte les caractères, construit l'arbre de Huffman et attribue les codes les plus courts aux symboles les plus fréquents. Compression sans perte, calculée en direct dans votre navigateur.
La structure
L'arbre de Huffman
On fusionne à répétition les deux symboles les plus rares. Le chemin de la racine à une feuille est son code : à gauche on écrit 0, à droite 1. Les feuilles proches de la racine — donc les caractères fréquents — obtiennent les codes les plus courts.
La correspondance
Table des codes
Aucun code n'est le préfixe d'un autre, si bien que la suite de bits se relit sans ambiguïté ni séparateur. Les symboles les plus fréquents apparaissent en premier.
Le résultat brut
Le flux binaire
Chaque caractère du texte remplacé par son code, bout à bout. C'est cette suite que l'on regroupe en octets pour l'écrire sur le disque.
Le principe
Quatre étapes
Compter
On relève le nombre d'occurrences de chaque caractère du texte.
Construire
On fusionne les deux nœuds les plus rares, encore et encore, jusqu'à un seul arbre.
Coder
Le chemin vers chaque feuille donne un code binaire, court pour les fréquents.
Empaqueter
On concatène les codes et on regroupe les bits en octets écrits sur le disque.
À propos
D'un projet C à une démo web
HuffZip est né d'un projet universitaire de 2022 : un compresseur et un décompresseur écrits en C, avec leurs propres listes chaînées et arbres binaires, sans aucune bibliothèque. Le code d'origine vit toujours dans le dépôt, sous engine/.
Cette interface reprend le même algorithme, réécrit en JavaScript pour s'exécuter dans le navigateur. Rien n'est envoyé à un serveur : tout le calcul se fait sur votre machine, et chaque compression est revérifiée par décodage pour garantir qu'elle est sans perte.