ZIP

De Viquipèdia
Dreceres ràpides: navegació, cerca
ZIP

ZIP
Extensió del fitxer .zip
MIME application/zip[1]
Codi tipus ZIP
Magic number cap, mitjançant PK\003\004, PK\005\006 (fitxer vuit), o PK\007\008 (fitxer estes) son comuns.
Desenvolupador: Phil Katz
Última versió 6.3.3 / 1 Setembre 2012; fa 21 mesos (2012-09-01)
Tipus de format: Compressió de dades
Extensió a JAR (EAR, RAR (Java), WAR)
Office Open XML (Microsoft)
Open Packaging Conventions
OpenDocument (ODF)
XPI (Extensions de Mozilla)
Estàndard APPNOTE a partir de PKWARE
Format obert? Sí: Llicència BSD

En informàtica, ZIP o zip és un format d'emmagatzematge comprimit sense pèrdua, molt utilitzat per a la compressió de dades com imatges, programes o documents.

Per a aquest tipus d'arxius s'utilitza generalment l'extensió "automàticament. Zip ".

Molts programes, tant comercials com lliure, l'utilitzen i permeten el seu ús més habitual.

Història[modifica | modifica el codi]

El format ZIP va ser creat originalment per Phil Katz, fundador de PKWARE. Katz va alliberar al públic la documentació tècnica del format ZIP, i va llançar al mateix temps la primera versió de PKZIP el gener de 1989.

Katz havia copiat l'ARC i convertit les rutines de compressió de C a un codi optimitzat en assemblador, que ho feia molt més ràpid. Inicialment, SEA (propietària d'ARC) va intentar obtenir una llicència per el compressor de Katz, anomenat PKARC, però Katz ho va rebutjar. SEA llavors va demandar a Katz per infringir el copyright, i va guanyar.

Informació tècnica[modifica | modifica el codi]

ZIP és un format de fitxer força simple, que comprimeix cada un dels arxius de forma separada. Comprimir cada fitxer independentment de la resta d'arxius comprimits permet recuperar cada un dels fitxers sense haver de llegir la resta, la qual cosa augmenta el rendiment. El problema, és que el resultat d'agrupar un nombre gran de petits arxius és sempre més gran que agrupar tots els arxius i comprimir-com si fos un de sol. Aquest últim comportament és el de l', també conegut, algorisme de compressió RAR. A canvi, això permet extreure cada arxiu de forma independent sense haver de processar l'arxiu des del principi.

L'especificació de ZIP indica que cada fitxer pot ser emmagatzemat, o bé sense comprimir, o utilitzant una àmplia varietat d'algorismes de compressió. No obstant això, en la pràctica, ZIP se sol utilitzar gairebé sempre amb l'algorisme de Phil Katz.

ZIP suporta un sistema de xifrat simètric basat en una clau única. No obstant això, aquest sistema de xifrat és feble davant atacs de text pla, atac de diccionari i força bruta. També suporta distribuir les parts d'un arxiu comprimit en diferents mitjans, generalment disquets.

Amb el temps, s'han anat incloent noves característiques, com a nous mètodes de xifrat. No obstant això, aquestes noves característiques no estan suportades per les aplicacions més utilitzades.

Mètodes de compressió[modifica | modifica el codi]

  • Shrinking (Contracció) (mètode 1)
La Contracció és una variant de LZW amb uns petits ajustaments. Com a tal, estava afectada per la ja expirada patent del LZW. Mai va estar clar si la patent cobria la decompresión, però per si de cas, alguns projectes lliure, com Info-ZIP van decidir no incloure en els seus productes per defecte.
  • Reducing (Reducció) (mètodes 2-5)
La Reducció implica una combinació de compressions de seqüències de bytes i aplicació d'una codificació estadística del resultat.
  • Imploding (Implosió) (mètode 6)
La Implosió implica comprimir seqüències de bytes repetidament amb una funció de finestra lliscant, i posteriorment, comprimir el resultat utilitzant múltiples arbres Shannon-Fano.
  • Tokenizing (mètode 7)
Aquest mètode està reservat. L'especificació PKWARE no defineix un algorisme per a ell.
  • DEFLATE and enhanced deflate (mètodes 8 i 9)
Aquests mètodes utilitzen el ben conegut algorisme deflate. DEFLATE permet finestres de fins a 32 KB. Enhanced deflate permet finestres de fins a 64 KB. La versió millorada (enhanced) té un millor comportament, però no està tan estès.
  • Biblioteca de compressió de dades de PKWARE per Imploding (mètode 10)
L'especificació oficial de l'format no dóna més informació sobre aquest mètode.
  • Mètode 11
Aquest mètode està reservat per PKWARE.
  • Bzip2 (mètode 12)
Aquest mètode utilitza el conegut algorisme bzip2. Aquest algorisme es comporta millor que DEFLATE, però no està estès àmpliament per les eines (sobretot les de Windows).

En l'actualitat[modifica | modifica el codi]

Els fitxers ZIP usen l'extensió de fitxer automàticament .zip i tenen el tipus media MIME application/zip. Un fitxer ZIP conté un o més ftixers que estan comprimits o emmagatzemats.Moltes aplicacions software, diferents de PKZIP, estan disponibles per crear, modificar o obrir fitxers zip. Destaquen WinZip, WinRAR i 7-Zip.

Les noves versions de Mac OS X suporten ZIP integrat en Finder, fent el format "oficial" de compressió en els Mac No obstant això, la majoria de fitxers de Mac encara es comprimeixen i empaqueten amb Stuffit o, cada cop més sovint, mitjançant paquets.

Les versions de Windows des de Windows Me també porten per defecte un plugin ( zipfldr.dll ) que permet mostrar-los amb una interfície reduïda de l'explorador de Windows, de forma semblant als d'arxius. cab ( cabview.dll ) ja present en anteriors versions del SO. Els fitxers zip són denominats com a "Carpeta comprimida (en zip)" confonent el fet que s'emmagatzema en un únic fitxer.

Formats derivats[modifica | modifica el codi]

Aquest format és també molt usat per a la creació d'arxius amb múltiples components, estant tots ells comprimits en un arxiu en format Zip, sovint amb alguna característica més, com l'ús de manifests. El primer d'ells va ser el format Jar utilitzat per a la distribució de classes (automàticament. Class ) de Java. Les aplicacions XUL (com Mozilla Firefox) i les seves extensions emmagatzemen bona part dels seus arxius en arxius jar . El format OpenDocument utilitzat per OpenOffice.org i OpenXML per Microsoft Office 2007 són fitxers XML comprimits en format Zip.

Realitat actual dels algorismes de compressió[modifica | modifica el codi]

Actualment, l'ús que se'ls dóna als diferents formats de compressió (zip, rar, 7z, etc.) Difereix força de la idea original. Tot i que aquests algorismes van sorgir per reduir la mida dels arxius i així reduir temps de descàrrega i estalviar transferència, actualment, pel fet que la banda ampla ha restat preocupació en aquest sentit ia la ineficiència d'aquests formats amb els actuals arxius multimèdia, ja que aquests es van dissenyar principalment per a arxius de text i algunes imatges, s'ha seguit utilitzant aquests formats per la comoditat que representa tenir diversos fitxers relacionats en un únic contenidor. Per exemple, a l'hora de penjar a internet un paquet de moltes imatges o altres arxius, de no existir contenidor implicaria l'usuari haver de descarregar-se els fitxers un a un, mentre que gràcies a aquests formats l'usuari descarrega un únic fitxer. Un altre dels avantatges que ofereixen actualment és la possibilitat de dividir fitxers en unes quantes parts. Per exemple, en cas de voler pujar un arxiu d'1 GB a un servidor on la mida màxima dels arxius és de 100 MB, aquests programes permetrien la divisió de l'arxiu en 10 parts de 100 MB, de manera que es podria pujar sense problema. Tant és així que fins i tot molts opten per posar el nivell de compressió en 0 o mínim, és a dir en no comprimir l'arxiu per reduir les possibles corrupcions i errors. Per això, si no fos per aquests avantatges, els algoritmes de compressió estarien actualment en desús.

Vegeu també[modifica | modifica el codi]

Referències[modifica | modifica el codi]

  1. «Registration of a new MIME Content-Type/Subtype - application/zip», 20 juliol 1993. [Consulta: 2012-01-05].

Enllaços externs[modifica | modifica el codi]