Formato de compresión ZIP

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
ZIP
The Unarchiver zip.png
Desarrollador
Phil Katz, PKWARE
Información general
Extensión de archivo .zip
.zipx
Tipo de MIME application/zip
Uniform Type Identifier com.pkware.zip-archive
Tipo de formato Compresión de datos
Extendido a JAR (EAR, RAR (Java), WAR)
Office Open XML (Microsoft)
OpenDocument (ODF)
XPI (extensión Mozilla)
Estándar(es) APPNOTE de PKWARE
Formato abierto ?
[editar datos en Wikidata ]

En informática, ZIP o zip es un formato de compresión sin pérdida, muy utilizado para la compresión de datos como documentos, imágenes o programas.

Para este tipo de archivos se utiliza generalmente la extensión ".zip".

Muchos programas, tanto comerciales como libres, lo utilizan y permiten su uso más habitual.

Historia[editar]

El formato ZIP fue creado originalmente por Phil Katz, fundador de PKWARE. Katz liberó al público la documentación técnica del formato ZIP, y lanzó al mismo tiempo la primera versión de PKZIP en enero de 1989.

Katz había copiado ARC y convertido las rutinas de compresión de C a un código optimizado en ensamblador, que lo hacía mucho más rápido. Inicialmente, SEA intentó obtener una licencia por el compresor de Katz, llamado PKARC, pero Katz lo rechazó. SEA demandó entonces a Katz por infringir el copyright, y ganó.

Información técnica[editar]

ZIP es un formato de fichero bastante simple, que comprime cada uno de los archivos de forma separada. Comprimir cada archivo independientemente del resto de archivos comprimidos permite recuperar cada uno de los ficheros sin tener que leer el resto, lo que aumenta el rendimiento. El problema, es que el resultado de agrupar un número grande de pequeños archivos es siempre mayor que agrupar todos los archivos y comprimirlos como si fuera uno sólo. A cambio, esto permite extraer cada archivo de forma independiente sin tener que procesar el archivo desde el principio.

La especificación de ZIP indica que cada archivo puede ser almacenado, o bien sin comprimir, o utilizando una amplia variedad de algoritmos de compresión. Sin embargo, en la práctica, ZIP se suele utilizar casi siempre con el algoritmo de Phil Katz.

ZIP soporta un sistema de cifrado simétrico basado en una clave única. Sin embargo, este sistema de cifrado es débil ante ataques de texto plano, ataque de diccionario y fuerza bruta. También soporta distribuir las partes de un archivo comprimido en distintos medios, generalmente disquetes.

Con el tiempo, se han ido incluyendo nuevas características, como nuevos métodos de cifrado. Sin embargo, estas nuevas características no están soportadas por las aplicaciones más utilizadas.

Métodos de compresión[editar]

  • Shrinking (Contracción) (método 1)
La Contracción es una variante de LZW con unos pequeños ajustes. Como tal, estaba afectada por la ya expirada patente del LZW. Nunca estuvo claro si la patente cubría la decompresión, pero por si acaso, algunos proyectos libres, como Info-ZIP decidieron no incluirlo en sus productos por defecto.
  • Reducing (Reducción) (métodos 2-5)
La Reducción implica una combinación de compresiones de secuencias de bytes y aplicación de una codificación estadística del resultado.
  • Imploding (Implosión) (método 6)
La Implosión implica comprimir secuencias de bytes repetidamente con una función de ventana deslizante, y posteriormente, comprimir el resultado utilizando múltiples árboles Shannon-Fano.
  • Tokenizing (método 7)
Este método está reservado. La especificación PKWARE no define un algoritmo para él.
  • Deflate and enhanced deflate (métodos 8 y 9)
Estos métodos usan el bien conocido algoritmo deflate. Deflate permite ventanas de hasta 32 KB. Enhanced deflate permite ventanas de hasta 64 KB. La versión mejorada (enhanced) tiene un mejor comportamiento, pero no está tan extendido.
  • Biblioteca de compresión de datos de PKWARE por Imploding (método 10)
La especificación oficial del formato no da más información sobre este método.
  • Método 11
Este método está reservado por PKWARE.
  • Bzip2 (método 12)
Este método utiliza el conocido algoritmo bzip2. Este algoritmo se comporta mejor que Deflate, pero no está ampliamente soportado por las herramientas (sobre todo las de Windows).

En la actualidad[editar]

Hoy, los archivos ZIP emplean la extensión de fichero .zip y tienen el tipo media MIME application/zip. Un archivo ZIP contiene uno o más archivos que están comprimidos o almacenados.

Muchas aplicaciones software, distintas de PKZIP, están disponibles para crear, modificar o abrir archivos zip. Destacan WinZip, WinRAR, PeaZip y 7-Zip.

Las versiones de Windows desde Windows Me también traen por defecto un plugin (zipfldr.dll) que permite mostrarlos con una interfaz reducida del Explorador de Windows, de forma parecida a los de archivos .cab (cabview.dll) ya presente en anteriores versiones del SO. Los archivos zip son denominados como "Carpeta comprimida (en zip)" confundiendo el hecho de que se almacena en un único fichero.

Las nuevas versiones de Mac OS X incluyen soporte ZIP integrado en Finder, haciéndolo el formato "oficial" de compresión en los Mac. Sin embargo, la mayoría de archivos de Mac todavía se comprimen y empaquetan con Stuffit o, cada vez más a menudo, mediante tarballs.

Formatos derivados[editar]

Este formato es también muy usado para la creación de archivos con múltiples componentes, estando todos ellos comprimidos en un archivo en formato Zip, a menudo con alguna característica más, como el uso de manifests. El primero de ellos fue el formato Jar usado para la distribución de clases (.class) de Java. Las aplicaciones XUL (como Mozilla Firefox) y sus extensiones almacenan buena parte de sus archivos en archivos jar. El formato OpenDocument usado por Apache OpenOffice y OpenXML por Microsoft Office 2007 son archivos XML comprimidos en formato Zip.

Véase también[editar]

Enlaces externos[editar]