LZMA: El nuevo algoritmo de compresión

Traducido automáticamente de Deepl

Siempre que intercambiamos archivos, pasamos por el ritual de comprimir los archivos antes de enviarlos. Desde 4D v18, hay dos comandos disponibles que le permiten crear y leer un archivo ZIP utilizando el algoritmo estándar de compresión zip.

Con 4D V19 R3, el comando Zip Create Archive soporta un nuevo algoritmo de compresión: LZMA. La ventaja de este algoritmo es que crea archivos más pequeños que el algoritmo de compresión zip estándar. ¡Averigüemos más!

¿Qué es LZMA?

LZMA es el acrónimo de Lempel-Ziv-Markov chain algorithm. LMZA es un algoritmo de compresión sin pérdidas creado por Igor Pavlov. Este algoritmo de compresión de datos utiliza un esquema de compresión por diccionario similar al algoritmo LZ77 publicado por Abraham Lempel y Jacob Ziv.

¿Cómo se utiliza?

Puede pasar un objeto«zipArchive» al comando ZIP Create Archive para personalizar tu zip. Esto le permite elegir el algoritmo de compresión, el algoritmo de encriptación y algunas otras opciones. Lee la documentación para más detalles.

Para el algoritmo de compresión, puede establecer el atributo «compresión» en:

  • Compresión ZIP Ninguna
  • Compresión ZIP Estándar
  • Compresión ZIP LZMA
  • Compresión ZIP XZ

Para el nivel de compresión, puede establecer el atributo «level» entre 1 y 10.

Este es un ejemplo que comprime una carpeta utilizando el algoritmo LZMA:

var $zip; $status: Object
var $destination : 4D.File
$zip :=New object
$zip .files:=Nueva colección
$zip .files.push(Folder(fk documents folder).carpeta("Archivo 2020"))
$zip .
compression:=ZIP Compression LZMA
$zip.level:=4
$destination :=Folder(fk desktop folder).file("Archivo2020.zip")
$status :=ZIP Create archive($zip; $destination)

Este es el resultado obtenido en un archivo de casi 2GB que contiene 1800 imágenes:

¡De vuelta a usted! No dude en compartir sus comentarios e impresiones en el foro.

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.