¿Qué es 7-Zip y el formato 7z?
7-Zip es un archivador de archivos de código abierto creado por Igor Pavlov en 1999 y publicado bajo licencia GNU LGPL. El formato .7z es el formato nativo de 7-Zip, diseñado para ofrecer la mayor tasa de compresión disponible.
El corazón del formato 7z es el algoritmo LZMA (Lempel-Ziv-Markov chain Algorithm), con su variante mejorada LZMA2 que aprovecha múltiples núcleos de CPU.
Comparativa: 7z vs ZIP vs RAR vs tar.gz
| Característica | ZIP | RAR | tar.gz | 7z |
|---|---|---|---|---|
| Algoritmo | DEFLATE | RAR/LZMA | gzip | LZMA/LZMA2 |
| Tasa de compresión | Baja-Media | Buena | Media | Excelente |
| Cifrado | AES-256 | AES-256 | No nativo | AES-256 |
| Software nativo en Windows | ✅ | ❌ | ❌ | ❌ (necesita 7-Zip) |
| Software nativo en macOS | ✅ | ❌ | ✅ | ❌ |
| Código abierto | ✅ | ❌ | ✅ | ✅ |
Tasas de compresión reales
Comprimiendo una carpeta de documentos de 1 GB:
| Formato | Tamaño resultante | Tiempo |
|---|---|---|
| ZIP | ~280 MB | 10 s |
| RAR (normal) | ~250 MB | 12 s |
| tar.gz | ~240 MB | 15 s |
| 7z (normal) | ~220 MB | 18 s |
| 7z (ultra) | ~200 MB | 120 s |
Crear archivos 7z (línea de comandos)
# Comprimir una carpeta a 7z
7z a archivo.7z carpeta/
# Con compresión máxima
7z a -mx=9 archivo.7z carpeta/
# Con cifrado AES-256
7z a -p"contraseña_segura" -mhe=on archivo.7z carpeta/
# Dividir en volúmenes de 1 GB
7z a -v1g archivo.7z carpeta/
# Excluir archivos específicos
7z a archivo.7z carpeta/ -xr!*.log -xr!tmp/
Extraer archivos 7z
# Extraer al directorio actual
7z x archivo.7z
# Extraer a un directorio específico
7z x archivo.7z -o/ruta/destino/
# Ver contenido sin extraer
7z l archivo.7z
# Verificar integridad
7z t archivo.7z
Automatización con Python
import subprocess
def compress_7z(source: str, output: str, password: str = None, level: int = 5):
cmd = ['7z', 'a', f'-mx={level}', output, source]
if password:
cmd.extend([f'-p{password}', '-mhe=on'])
result = subprocess.run(cmd, capture_output=True, text=True)
return result.returncode == 0
def extract_7z(archive: str, destination: str, password: str = None):
cmd = ['7z', 'x', archive, f'-o{destination}']
if password:
cmd.append(f'-p{password}')
result = subprocess.run(cmd, capture_output=True, text=True)
return result.returncode == 0
¿Cuándo usar 7z?
Úsalo cuando:
- Necesitas la máxima compresión posible (backup, distribución de software grande).
- Quieres cifrado AES-256 con cabeceras también cifradas.
- El destinatario puede instalar 7-Zip.
Prefiere ZIP cuando:
- El destinatario usa Windows/macOS sin software adicional.
- Necesitas máxima compatibilidad universal.
Conclusión
7-Zip y el formato 7z ofrecen la mayor tasa de compresión disponible gratuitamente, con cifrado AES-256 de alta seguridad. Para backups personales y distribución técnica, 7z es la elección óptima.
Conversiones relacionadas
Conversiones de archivos comprimidos más usadas: