Descomprime la secuencia de bytes utilizando el módulo gzip incorporado.
Si tiene algún problema, mostrar el código mínimo exacta que utilizó, el mensaje de error exacto y rastreo, junto con el resultado de print repr(your_byte_stream[:100])
Información
1. Para una explicación de la confusión gzip/zlib/deflate, lea la sección "Otros usos" de this Wikipedia article.
2. Puede ser más fácil usar el módulo zlib que el módulo gzip si tiene una cadena en lugar de un archivo. Por desgracia, la Python docs son incompletas/incorrecto:
""" zlib.decompress (cadena [, [wbits, bufsize]]) ... El valor absoluto de wbits es la base de dos logaritmo del tamaño de la buffer histórico (el "tamaño de ventana") utilizado al comprimir datos. Su valor absoluto debe estar entre 8 y 15 para las versiones más recientes de la biblioteca zlib, los valores más grandes dan como resultado una mejor compresión a expensas de un mayor uso de memoria. es 15. Cuando wbits es negativo, se suprime el encabezado gzip estándar; esta es una característica no documentada de la biblioteca zlib, utilizada para compatibilidad con el formato de archivo de compresión de descompresión. "" "
En primer lugar, 8 < = log2_window_size < = 15, con el significado dado anteriormente. Entonces, lo que debería ser un arg separado es kludged en la parte superior:
arg == log2_window_size significa que la cadena está en formato zlib (RFC 1950; lo que el HTTP 1.1 RFC 2616 confusamente llama "desinflar").
arg == -log2_window_size significa asumir cadena está en formato de desinflado (RFC 1951; lo que la gente que no leyeron el HTTP 1.1 RFC cuidadosamente llevan a la práctica)
arg == 16 + log_2_window_size significa asumir cadena está en formato gzip (RFC 1952). Para que pueda usar 31.
La información de arriba está documentada en el zlib C library manual ... Ctrl-F búsqueda windowBits
.
me salvaste la vida) – Oduvan
¿podrías comentar cuál es el segundo argumento para descomprimir? ¿Y por qué es tan ... bueno ... extraño? – DataGreed
@DataGreed, el segundo argumento es para el tamaño de la ventana, consulte la respuesta de John Machin a continuación. – YOU