# Comprimir y descomprimir archivos

## ¿Qué es la compresión de archivos?

Comprimir un archivo es reducir su tamaño. Existen muchos algoritmos de compresión. Se pueden distinguir en dos grandes grupos:

- algoritmos de compresión sin pérdida: es posible descomprimir el archivo comprimido y recuperar un archivo idéntico al original.
- algoritmos de compresión con pérdida: no se puede recuperar el archivo original

La ventaja evidente de comprimir uno a varios archivos es que ocupan menos espacio. Veamos tres casos en los que resulta interesante comprimir archivos. Por ejemplo:

- quieres copiar un archivo en un disquete para llevarlo de un ordenador a otro, pero el archivo es mayor de 1,44 MB y no cabe en el disquete. Comprimiendo el archivo, puede caber ya en un disquete (y si no, los programas de compresión se encargan de repartirlo en los disquetes necesarios y luego reconstruirlo).
- quieres hacer una copia de seguridad de uno o varios archivos (una buena costumbre). Si comprimes todos los archivos en uno sólo, la copia de seguridad ocupará menos espacio.
- quieres enviar uno o varios archivos por Internet. Si están comprimidos tardarás menos en enviarlos y pagarás menos por el tiempo de conexión (y el buzón de correo del receptor lo agradecerá).

Una vez comprimido un archivo, normalmente no podrás modificarlo sin descomprimirlo antes (salvo que el programa que utilices realice automáticamente la descompresión y compresión).

Puedes aplicar cualquier algoritmo de compresión a cualquier archivo, pero lógicamente no se puede comprimir indefinidamente. Si al comprimir un archivo obtienes un archivo mayor que el original, es que ya has llegado al límite (aunque puede que otros algoritmos puedan comprimir más el archivo). Normalmente no sirve de casi nada comprimir un archivo ya comprimido.

## Algoritmos de compresión con pérdida

A primera vista los formatos de compresión con pérdida parecen absurdos, ya que consiguen una gran compresión a costa de la pérdida parcial de información. Evidentemente estos algoritmos no se pueden utilizar en archivos de texto o en programas, en los que al perder información, el archivo puede ser irreconocible o inutilizable. Sin embargo, en el caso de imágenes o sonido, la pérdida de información supone solamente una pérdida de calidad, pero el resultado puede ser utilizado. Normalmente los algoritmos de compresión con pérdida permiten elegir la pérdida de calidad que estás dispuesto a sufrir a cambio de aumentar la compresión.

Por ejemplo, los archivos de sonido de calidad CD (sonido estéreo muestreado a 44,1 kHZ y 16 bits) ocupan aproximadamente 10 MB/s. El algoritmo MP3, muy popular actualmente, reduce el tamaño del archivo a la décima parte sin que un oído medio perciba pérdida de calidad. Esta reducción se consigue eliminando las frecuencias inaudibles y los sonidos enmascarados por otros. Si estás dispuestos a degradar la calidad del sonido de forma apreciable, el algoritmo MP3 puede reducir el tamaño del archivo hasta la centésima parte (con esta compresión oirías la música como a través de un teléfono).

En el caso de fotografías el formato de compresión con pérdida más utilizado es el formato JPEG. En el caso de imágenes en movimiento el formato más utilizado es el MPEG-2 (también se está popularizando el formato DiVX, el MP3 de las películas).

## Algoritmos de compresión sin pérdida

Los algoritmos de compresión sin pérdida no pueden conseguir tanta compresión como los anteriores ya que tienen la obligación de ser reversibles, es decir, que se tiene que poder obtener un archivo idéntico al original a partir del archivo comprimido. Estos algoritmos se pueden aplicar a cualquier tipo de ficheros (texto, imágenes, etc.). Existen muchos algoritmos de compresión sin pérdida y se distinguen entre ellos por el porcentaje de compresión que pueden alcanzar o por la rapidez en la compresión o descompresión.

El formato más popular en Internet es el formato ZIP, basado en el algoritmo Lempel-Ziv (1977), que funciona buscando cadenas (ristras de símbolos) repetidas y sustituyéndolas por cadenas más cortas. Pero otros formatos, como ARJ, RAR o CAB, también relativamente populares . Las diferencias de rendimiento entre ellos no son demasiado significativas. A partir de Windows ME, Windows es capaz de comprimir o descomprimir archivos ZIP directamente, pero en versiones anteriores es necesario utilizar programas específicos.

Los programas de compresión son capaces de manejar normalmente muchos formatos de compresión. Los más populares son comerciales (como WinZip), pero existen otros completamente gratuitos, como 7-zip o IZArc y de calidad similar o incluso superior.