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.