Zip est un format de fichier pour la compression de données et le stockage de documents ; le format MIME de zip est "application/zip". Zip est un format d'archive relativement simple qui compresse chaque fichier séparément vous permet de ne pas lire un autre fichier. Il récupère des fichiers indépendants en fonction des données et permet l'utilisation de différents algorithmes pour différents fichiers.
L'environnement d'exploitation de ce tutoriel : système Windows 10, ordinateur Dell G3.
Le format de fichier ZIP est un format de fichier pour la compression de données et le stockage de documents. Son nom d'origine est Deflate. L'inventeur est Phil Katz
Il l'a annoncé en janvier 1989 dans ce format. ZIP utilise généralement le suffixe « .zip » et son format MIME est application/zip. Actuellement, le format ZIP est l'un des nombreux formats de compression courants, et ses concurrents incluent le format RAR et le format open source 7z. En termes de comparaison des performances, les formats RAR et 7z ont des taux de compression plus élevés que le format ZIP, et 7-Zip est progressivement utilisé dans davantage de domaines car il fournit des outils de compression gratuits. Microsoft prend en charge le format zip à partir du système d'exploitation Windows ME Même si l'utilisateur n'a pas de logiciel de décompression installé sur l'ordinateur, il peut ouvrir et créer des fichiers compressés au format zip sous OS X et sous Linux. les systèmes fournissent également une prise en charge du format zip. Par conséquent, si vous diffusez et distribuez des fichiers sur Internet, le format zip est souvent le choix le plus couramment utilisé.
Introduction technique
ZIP est un format d'archive assez simple qui compresse chaque fichier individuellement. La compression des fichiers séparément permet de récupérer des fichiers indépendants sans lire de données supplémentaires ; en théorie, ce format permet l'utilisation de différents algorithmes pour différents fichiers. Quelle que soit la méthode utilisée, une mise en garde concernant ce format est que lorsque l'archive contient de nombreux petits fichiers, l'archive sera nettement plus compressée que compressée en un seul fichier (un exemple classique dans les systèmes de type Unix est l'archive tar.gz ordinaire. est composé d'une archive TAR compressée à l'aide de gzip) pour être plus grande.
La spécification ZIP indique que les fichiers peuvent être stockés sans compression ou en utilisant différents algorithmes de compression. Cependant, en pratique, ZIP utilise presque toujours l'algorithme DEFLATE de Katz.
ZIP prend en charge un mot de passe simple basé sur un système de cryptage symétrique, connu pour présenter de graves failles, des attaques connues en texte clair, des attaques par dictionnaire et des attaques par force brute. ZIP prend également en charge la compression de volume.
Ces derniers temps, ZIP a ajouté de nouvelles fonctionnalités, notamment de nouvelles méthodes de compression et de cryptage, mais ces nouvelles fonctionnalités ne sont pas prises en charge par de nombreuses tâches et n'ont pas été largement utilisées.
Inconvénients :
En raison de leur apparition précoce sur le marché, les fichiers Zip actuels présentent de nombreux défauts qui ne peuvent être ignorés par rapport aux autres formats de compression.
Les noms de fichiers Unicode ne sont pas pris en charge nativement, ce qui peut facilement entraîner des difficultés dans le partage de certaines ressources, en particulier dans les échanges de ressources dans le cercle culturel d'Asie de l'Est ; le taux de compression n'est pas comparable à 7z et le manque de fonctions de support de réparation d'enregistrement de récupération telles que comme WinRAR les raisons de son déclin.
Méthode de compression
La méthode suivante :
Rétrécissement (Méthode 1)
Le rétrécissement est une variante des ajustements mineurs de LZW et est également affecté par les problèmes de brevet LZW. Il n'a jamais été clair si ce brevet couvrait l'anti-rétrécissement, mais certains projets open source (tels que Info-ZIP) ont décidé de faire preuve de prudence et de ne pas inclure de support anti-rétrécissement dans la version par défaut.
Réduction (Méthodes 2 à 5)
La réduction implique de compresser une combinaison de séquences d'octets répétées, puis d'appliquer un codage basé sur les probabilités au résultat.
Implosion (Méthode 6)
L'implosion implique l'utilisation d'une fenêtre coulissante pour compresser des séquences d'octets répétées, puis l'utilisation de plusieurs arbres Shannon-Fano pour compresser le résultat.
Tokenisation (Méthode 7)
Le nombre de méthodes de tokenisation est réservé. La spécification PKWARE ne définit pas d'algorithme pour cela.
Dégonflage et dégonflage amélioré (méthodes 8 et 9)
Ces méthodes utilisent l'algorithme Deflate bien connu. Le dégonflage autorise des fenêtres jusqu'à 32 Ko. Le dégonflage amélioré permet des fenêtres jusqu'à 64 Ko. La version améliorée a eu un peu plus de succès dans sa mission, mais n'a pas été largement supportée.
La taille de comparaison de Deflate est de 52,1 Mo (testée avec pkzip pour Windows, version 8.00.0038)
La taille de comparaison de Deflate améliorée est de 52,8 Mo (testée avec pkzip pour Windows, version 8.00.0038)
Implosation de la bibliothèque de compression de données PKWARE (méthode 10)
PKWARE Data Compression Library Imploding (PKWARE Data Compression Library Imploding), la spécification officielle du format ZIP ne donne pas plus d'informations à ce sujet.
La taille comparée est de 61,6 Mo (testée avec pkzip pour Windows, version 8.00.0038, mode binaire sélectionné)
Méthode 11
Cette méthode est réservée par PKWARE.
Bzip2 (Méthode 12)
Cette méthode utilise l'algorithme bien connu bzip2. Cet algorithme est plus efficace que deflate mais n'est pas supporté par les outils (basés sur les plateformes Windows).
La taille de comparaison est de 50,6 Mo (testée avec pkzip pour Windows, version 8.00.0038)
Pour plus de connaissances connexes, veuillez visiter la colonne FAQ !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!