Aller au contenu
Aback Tools Logo

Visualiseur de compression LZ77

Visualisez la compression par fenêtre coulissante LZ77 étape par étape sur n'importe quelle saisie de texte - le visualiseur de compression lz77 génère chaque jeton (décalage, longueur, caractère suivant) avec une explication en anglais simple et une mise en évidence interactive des entrées. Cliquez sur n’importe quel jeton pour voir le tampon de recherche exact et l’état d’anticipation à cette position. Configurez la taille de la fenêtre et le tampon d’anticipation pour comprendre comment ils affectent le taux de compression. Fonctionne entièrement dans votre navigateur – aucune inscription requise.

LZ77 Compression Visualizer

Enter any text to see LZ77 sliding window compression step-by-step. Each token shows the (offset, length, next-char) tuple with a plain-English explanation. Click any token to highlight the search buffer and match in the input. Runs entirely in your browser.

Try a preset:

Input & Settings

12/500 characters

How far back to search for matches.

Max match length to look for.

Enter any text above and click Visualize LZ77 Compression to see the sliding window algorithm step-by-step. Each token shows the (offset, length, next-char) tuple - click any token to highlight the search buffer and match in the input. Try the presets for instant examples.

Pourquoi utiliser notre visualiseur de compression LZ77 ?

  • Visualisation instantanée LZ77 étape par étape : visualisez instantanément chaque jeton de compression LZ77 généré - le visualiseur de compression lz77 exécute l'algorithme de fenêtre coulissante complet dans votre navigateur et affiche chaque tuple (décalage, longueur, caractère suivant) avec une explication en anglais simple et une mise en évidence interactive des entrées.
  • Visualiseur de compression LZ77 sécurisé en ligne : votre texte ne quitte jamais votre appareil. Le visualiseur de compression lz77 fonctionne entièrement dans votre navigateur - pas de téléchargement de serveur, pas de transmission de données, 100 % privé. Sans danger pour les extraits de code propriétaires, les données de configuration et les échantillons de texte sensibles.
  • Éducation interactive par fenêtre coulissante : cliquez sur n'importe quel jeton pour mettre en surbrillance le tampon de recherche, la correspondance et le caractère suivant dans l'entrée d'origine. Le visualiseur de compression lz77 affiche l'état exact de la fenêtre glissante à chaque étape, ce qui en fait le moyen le plus clair de comprendre le fonctionnement du LZ77 dans la pratique.
  • 100 % gratuit pour toujours : le visualiseur de compression lz77 est entièrement gratuit, sans inscription, sans niveau premium, sans limite de taille d'entrée et sans publicité. Visualisez la compression LZ77 pour des saisies de texte illimitées à zéro coût, pour toujours.

Cas d'utilisation courants du visualiseur de compression LZ77

  • Enseignement de l'informatique : enseignez la compression LZ77 aux étudiants avec une visualisation interactive en direct - découvrez exactement comment l'algorithme de fenêtre coulissante crée des jetons à partir de n'importe quelle saisie de texte. Le visualiseur de compression lz77 rend la théorie abstraite de la compression concrète et immédiatement compréhensible.
  • Comprendre les composants internes de GZIP et DEFLATE : GZIP et DEFLATE sont construits sur LZ77 - comprendre LZ77 est la base pour comprendre le fonctionnement de la compression Web. Le visualiseur de compression lz77 montre le processus exact de génération de jetons utilisé par DEFLATE avant d'appliquer le codage de Huffman.
  • Préparation à l'entretien avec l'algorithme : entraînez-vous à expliquer la compression LZ77 pour les entretiens techniques en parcourant l'algorithme sur des entrées personnalisées. Le visualiseur de compression lz77 vous permet de vérifier votre compréhension du codage des jetons de décalage, de longueur et de caractère suivant avec un retour instantané.
  • Recherche et expérimentation sur la compression : expérimentez différentes tailles de fenêtre et tailles de tampon d'analyse anticipée pour voir comment elles affectent le nombre de jetons et le taux de compression. Le visualiseur de compression lz77 permet de comprendre facilement le compromis entre la taille de la fenêtre de recherche et l'efficacité de la compression.
  • Analyse de la compressibilité du texte : découvrez pourquoi un texte très répétitif (comme "AABCAABCAABC") se compresse bien alors que le texte aléatoire ne le fait pas - le visualiseur de compression lz77 montre exactement quelles sous-chaînes correspondent en tant que références arrière et lesquelles doivent être émises en tant que littéraux.
  • Création d'implémentations de compression personnalisées : vérifiez votre propre implémentation LZ77 en comparant sa sortie de jeton avec le visualiseur de compression lz77 sur la même entrée. Utilisez la liste de jetons étape par étape et l'affichage de l'état de la fenêtre coulissante pour déboguer les calculs de décalage et de longueur.

Qu'est-ce que la compression LZ77 ?

LZ77 (Lempel-Ziv 1977) est un algorithme de compression de données sans perte inventé par Abraham Lempel et Jacob Ziv. C'est la base de DEFLATE, qui alimente GZIP, ZIP, PNG et zlib, faisant de LZ77 l'un des algorithmes de compression les plus utilisés en informatique. LZ77 fonctionne en remplaçant les occurrences répétées de données par des références à une seule copie qui apparaît plus tôt dans le flux de données non compressé. Chaque référence est un jeton (décalage, longueur, caractère suivant) : le décalage correspond à la distance dans le tampon de recherche à laquelle la correspondance commence, la longueur correspond au nombre de caractères correspondant et le caractère suivant est le premier caractère qui ne correspond pas. Notre visualiseur de compression lz77 affiche chaque jeton généré pour votre texte saisi avec une mise en évidence interactive.

Comment fonctionne notre visualiseur de compression LZ77

  1. 1 Saisissez votre texte et configurez la fenêtre : Saisissez ou collez n'importe quel texte (jusqu'à 500 caractères) dans la zone de saisie. Choisissez la taille de la fenêtre de recherche (jusqu'où rechercher les correspondances) et la taille du tampon d'anticipation (longueur maximale des correspondances). Utilisez les exemples prédéfinis pour des démonstrations instantanées.
  2. 2 Cliquez sur « Visualiser la compression LZ77 » : Le visualiseur de compression lz77 exécute l'algorithme de fenêtre coulissante complet dans votre navigateur et génère chaque jeton (décalage, longueur, caractère suivant). Les résultats apparaissent instantanément avec un résumé du nombre de jetons, du nombre littéral, des références arrière et du taux de compression. Votre texte ne quitte jamais votre appareil.
  3. 3 Cliquez sur n'importe quel jeton pour explorer l'état de la fenêtre glissante : la surbrillance d'entrée affiche le tampon de recherche (jaune), la sous-chaîne correspondante (vert) et le caractère suivant (bleu) pour le jeton sélectionné. Le panneau de détails du jeton affiche le contenu exact du tampon de recherche et une analyse anticipée de cette position.

Ce que représente chaque jeton LZ77

  • Décalage (distance en arrière) : combien de caractères en arrière dans le tampon de recherche la correspondance commence. Un décalage de 0 signifie qu'aucune correspondance n'a été trouvée : le jeton est un littéral. Un décalage de 5 signifie que la correspondance commence 5 caractères avant la position actuelle.
  • Longueur (longueur de correspondance) : combien de caractères consécutifs correspondent entre le tampon de recherche et l'anticipation. Une longueur de 0 signifie littéral (aucune correspondance). Des correspondances plus longues signifient une meilleure compression : un jeton remplace plusieurs caractères.
  • Caractère suivant : le premier caractère de la recherche anticipée qui ne correspond pas (ou le caractère suivant après la correspondance). Cela garantit que le décodeur peut toujours avancer d'au moins un caractère, même pour les jetons littéraux.
  • Modèle de coût en bits : chaque jeton coûte des bits log₂ (taille de la fenêtre) pour le décalage + log₂ (taille d'anticipation) bits pour la longueur + 8 bits pour le caractère suivant. Les implémentations réelles (DEFLATE) ajoutent le codage de Huffman pour compresser davantage le flux de jetons.

LZ77 contre DÉGONFLAGE contre GZIP

Le LZ77 pur, tel qu'illustré dans ce visualiseur, est rarement utilisé directement : les implémentations réelles ajoutent une deuxième passe de compression. DEFLATE (utilisé dans GZIP, ZIP et PNG) applique d'abord LZ77 pour rechercher des références arrière, puis applique le codage de Huffman au flux de jetons pour compresser davantage les valeurs de décalage, de longueur et de caractères. LZ78 et LZW sont des variantes qui utilisent un dictionnaire au lieu d'une fenêtre coulissante. LZSS est une variante optimisée du LZ77 qui omet le champ du caractère suivant lorsqu'une correspondance est trouvée, réduisant ainsi la surcharge des jetons. Le visualiseur de compression lz77 implémente l'algorithme LZ77 original pour une clarté pédagogique maximale.

Foire aux questions

Un visualiseur de compression lz77 montre l'algorithme de compression à fenêtre coulissante LZ77 étape par étape sur n'importe quelle entrée de texte - générant chaque jeton (décalage, longueur, caractère suivant) avec une explication en anglais simple. Notre visualiseur de compression lz77 gratuit fonctionne entièrement dans votre navigateur sans aucune inscription requise.

Chaque jeton LZ77 code une correspondance dans le tampon de recherche. Le décalage correspond à la date à laquelle le match a commencé ; la longueur correspond au nombre de caractères correspondant ; next-char est le premier caractère sans correspondance. Un jeton de (0, 0, 'A') est un littéral. Un jeton de (5, 3, 'X') signifie "revenir en arrière de 5 caractères, copier 3 caractères, puis émettre 'X'".

Oui, complètement. Le visualiseur de compression lz77 s'exécute entièrement dans votre navigateur. Votre texte n'est jamais téléchargé sur aucun serveur et ne quitte jamais votre appareil.

Oui, 100 % gratuit, pour toujours. Pas d'inscription, pas de compte, pas de niveau premium, pas de limite de taille de saisie et pas de publicité.

GZIP et DEFLATE sont construits sur LZ77. DEFLATE applique d'abord LZ77 pour trouver des références arrière, puis applique le codage de Huffman au flux de jetons pour une compression supplémentaire. Comprendre LZ77 est la base pour comprendre le fonctionnement interne des compressions GZIP, ZIP, PNG et zlib.

Une fenêtre de recherche plus grande permet au LZ77 de rechercher des correspondances plus en arrière dans l'entrée, produisant des correspondances plus longues et de meilleurs taux de compression. Cependant, les fenêtres plus grandes nécessitent plus de bits pour coder la valeur de décalage. Les véritables implémentations DEFLATE utilisent une fenêtre de 32 Ko.

LZ77 remplace les sous-chaînes répétées par des références arrière. Un texte tel que « AABCAABBCAABC » comporte de nombreux modèles répétés, de sorte que la plupart des jetons sont des références arrière plutôt que des littéraux. Le texte aléatoire n’a pas de répétition, donc chaque jeton est un littéral – aucun avantage de compression.

LZ77 utilise une fenêtre glissante (un tampon de taille fixe de sortie récente) pour trouver des correspondances. LZ78 utilise un dictionnaire explicite qui s'agrandit à mesure que l'algorithme traite les entrées. LZW (utilisé dans GIF) est une variante de LZ78. DEFLATE utilise LZ77 car l'approche de fenêtre glissante est plus efficace pour le streaming de données.

Le visualiseur de compression lz77 est limité à 500 caractères pour une visualisation étape par étape : des entrées plus longues généreraient des centaines de jetons difficiles à parcourir. Pour analyser les taux de compression sur des fichiers plus volumineux, utilisez l'outil File Compression Ratio Analyzer.