compress()
se utiliza para comprimir los datos en una única llamada, y siempre comprime al formato zlib, que es desinflar de datos con un encabezado de dos bytes y un valor de comprobación de remolque de cuatro bytes. compress()
se usa solo.
deflate()
se utiliza para comprimir los datos de un bloque a la vez, y/o para comprimir a otros formatos tales como gzip -wrapped o prima, y con otras opciones, tales como niveles de memoria y estrategias de compresión.
Utilizará compress()
si tiene todos los datos disponibles a la vez y memoria suficiente para mantener el resultado, y desea el formato de compresión predeterminado, el uso de la memoria y la estrategia. De lo contrario, usaría deflate()
.
deflate() no se usa por sí mismo. Debe utilizar deflateInit()
o deflateInit2()
para inicializar la estructura z_stream
utilizada por deflate()
. Luego, llama al deflate()
una o más veces para tomar datos para comprimir y para poner a disposición el resultado. Al final, se llama al deflateEnd()
para liberar los recursos de memoria utilizados en la estructura. Puede leer la documentación en zlib.h y en http://zlib.net/zlib_how.html para obtener más información.
Mark Adler es [definitivamente la autoridad en este] (http://en.wikipedia.org/wiki/Mark_Adler). – Xenon
gracias. Leí un poco, pero no lo entendí al principio. Era demasiada información, pero la he releído. – mma1480
genial ... ahora sé por qué se llama adler-32 –