2012-04-15 22 views

Respuesta

44

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.

+21

Mark Adler es [definitivamente la autoridad en este] (http://en.wikipedia.org/wiki/Mark_Adler). – Xenon

+0

gracias. Leí un poco, pero no lo entendí al principio. Era demasiada información, pero la he releído. – mma1480

+3

genial ... ahora sé por qué se llama adler-32 –

Cuestiones relacionadas