7z


7z es un formato de archivo comprimido que admite varios algoritmos de preprocesamiento , cifrado y compresión de datos diferentes . El formato 7z apareció inicialmente como implementado por el archivador 7-Zip . El programa 7-Zip está disponible públicamente bajo los términos de la Licencia Pública General Reducida GNU . El LZMA SDK 4.62 se colocó en el dominio público en diciembre de 2008. La última versión estable de 7-Zip y LZMA SDK es la versión 21.06. [2]

La especificación oficial e informal del formato de archivo 7z se distribuye con el código fuente de 7-Zip desde 2015. La especificación se puede encontrar en formato de texto plano en el subdirectorio 'doc' de la distribución del código fuente. [3] Ha habido intentos adicionales de terceros para escribir documentación más concreta basada en el código publicado. [4]

La arquitectura abierta del formato permite que se agreguen al estándar métodos de compresión futuros adicionales.

Un conjunto de herramientas de recompresión llamado AdvanceCOMP contiene una copia del codificador DEFLATE de la implementación de 7-Zip; estas utilidades a menudo se pueden utilizar para comprimir aún más el tamaño de los archivos gzip , ZIP , PNG o MNG existentes .

El LZMA SDK viene con los preprocesadores BCJ y BCJ2 incluidos, de modo que las etapas posteriores puedan lograr una mayor compresión: para los procesadores x86 , ARM , PowerPC (PPC), IA-64 Itanium y ARM Thumb , los objetivos de salto están 'normalizados' [ 5]antes de la compresión cambiando la posición relativa en valores absolutos. Para x86, esto significa que los saltos cercanos, las llamadas y los saltos condicionales (pero no los saltos cortos y los saltos condicionales) se convierten de la notación de estilo "saltar 1655 bytes hacia atrás" del lenguaje de máquina a la notación de estilo normalizada "saltar a la dirección 5554"; todos los saltos a 5554, quizás una subrutina común, se codifican de manera idéntica, lo que los hace más comprimibles.

En otro software se incluye tecnología de preprocesamiento ejecutable similar; el compresor RAR presenta compresión de desplazamiento para ejecutables x86 de 32 bits y ejecutables IA-64, y el compresor de archivos ejecutables en tiempo de ejecución UPX incluye soporte para trabajar con valores de 16 bits dentro de archivos binarios DOS .