Flux Zstandard (.zst)
IETF StandardZstandard (Zstd) est un algorithme de compression sans perte en temps réel développé par Meta. Il offre des taux de compression comparables à ceux de Deflate.
Convertir ZSTD en GZIP
Outil de conversion gratuit de ZSTD vers GZIP dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.
Inspection et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers Zstandard en inspectant leur séquence initiale d'octets binaires :
Signature d'en-tête au niveau des octets (octets magiques)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers Zstandard en inspectant leur séquence initiale d'octets binaires :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
28 B5 2F FDREPRÉSENTATION ASCII : (µ/ý
Normalisation : IETF RFC 8878
Spécifications techniques
| Architecture de conteneur | En-tête de trame avec la valeur magique 0xFD2FB528, descripteur de trame, blocs de données et somme de contrôle optionnelle de 32 bits/64 bits |
| Compression | Codage FSE (Finite State Entropy) + codage Huffman + LZ77 avec de grandes fenêtres de recherche (jusqu'à 2 Go) |
| Ordre des octets | Ordre petit-boutiste des octets et des flux de bits |
| Espaces colorimétriques | N/A (Flux de compression de données) |
| Canaux et structure | Compression de flux d'octets à usage général |
| Dimensions maximales | Capacité de données en flux illimitée |
| Transparence | Reproduction des données à l'identique, bit à bit, sans perte à 100 % |
| Prise en charge du traitement en continu | Traitement en flux à très haut débit, conçu pour saturer les liaisons NVMe et réseau multigigabits |
Matrice de comparaison technique : Zstandard face aux concurrents
| Attribut technique | Zstandard (Actuel) | GZ | BROTLI | LZ4 |
|---|---|---|---|---|
| Vitesse de décompression | Très rapide (1,5 - 3 Go/s) | Modérée (~300 Mo/s) | Rapide (~400 Mo/s) | Extrêmement rapide (~4 Go/s) |
| Efficacité de compression | Supérieure à celle de Gzip, égale à celle de Bzip2 | Norme de référence | La plus élevée sur le texte web | Faible (axée sur la vitesse) |
| Entraînement par dictionnaire | Dictionnaires personnalisés entraînés | Aucun | Dictionnaire web fixe de 120 Ko | Aucun |
| Adoption par les OS modernes | Noyau Linux, Arch, Fedora, Btrfs | Disponible dans certaines anciennes distributions Unix | Navigateurs web et nœuds périphériques des CDN | Noyau Linux et moteurs de jeux |
Modes de corruption courants et guide de restauration hexadécimale
Erreur de décompression : « ZSTD_error_checksum_wrong: Checksum verification failed ».
Cause initiale: Octet corrompu dans le bloc de données provoquant l'échec de la vérification xxHash 32 bits ou 64 bits.
Récupération: Extrayez avec « --force » pour contourner la somme de contrôle ou réparez avec le convertisseur Zstd File2File.app.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
La machine à états de décodage FSE de Zstandard doit valider rigoureusement les descriptions de tables afin d’éviter des transitions d’état invalides.
Vecteurs d’attaque connus
- Des tables de compteurs FSE normalisées corrompues peuvent provoquer des accès hors limites à la table d’états.
- Dépassement d'entier lors de l'allocation d'un grand tampon de fenêtre.
- Déni de service par épuisement de la mémoire du dictionnaire personnalisé.
Bonnes pratiques de défense: Vérifiez les limites de taille de fenêtre indiquées dans l’en-tête de trame et limitez la taille maximale des allocations de dictionnaire.
Origines historiques et jalons
Principaux avantages
- Vitesse de décompression incroyable : décompresse à 1,5 à 3,0 Go/s par cœur, saturant les SSD NVMe haute vitesse.
- Grande souplesse : 22 niveaux de compression, de la compression en temps réel à l’archivage très compact.
- L’entraînement d’un dictionnaire personnalisé peut améliorer d’un facteur 3 à 5 la compression de petits enregistrements, comme des données JSON ou des lignes de base de données.
Limites techniques
- À niveau de compression élevé et avec de grandes fenêtres, Zstandard peut utiliser un peu plus de mémoire que Deflate.
- Nécessite des outils modernes ; les anciens serveurs Unix peuvent ne pas disposer d'utilitaires zstd préinstallés.
- Les flux .zst bruts doivent être placés dans un conteneur (par exemple TAR) pour conserver l’arborescence des dossiers.
Faits intéressants
- Zstandard utilise l’entropie à état fini (FSE), fondée sur les systèmes numériques asymétriques (tANS), une méthode développée par Jarek Duda qui atteint la limite de l’entropie de Shannon à la vitesse du matériel.
- Arch Linux et Fedora ont basculé leurs gestionnaires de paquets (pacman et dnf) vers .tar.zst, accélérant l'installation des logiciels de plus de 400 %.
- Les octets magiques 0x28 0xB5 0x2F 0xFD ont été choisis pour être facilement reconnaissables et éviter les collisions avec les formats hérités.
Foire aux questions techniques
Pourquoi Zstandard remplace-t-il Gzip dans les distributions Linux modernes ?
Zstandard compresse davantage les fichiers que Gzip tout en les décompressant 5 à 10 fois plus vite, réduisant considérablement les temps d'installation des logiciels et l'utilisation du processeur du serveur.
Qu'est-ce que la compression par dictionnaire dans Zstd ?
Zstd peut analyser un ensemble de petits fichiers (par exemple, des réponses d’API JSON) afin de créer un dictionnaire personnalisé. Celui-ci permet ensuite de compresser les fichiers en exploitant les motifs qu’ils ont en commun.
Comment puis-je décompresser un fichier .zst ou .zstd ?
Vous pouvez décompresser les fichiers .zst et .tar.zst directement dans votre navigateur web à l'aide de File2File.app sans installer d'outils en ligne de commande.