Ho i primi 2/3 contigui di un file che è stato compresso con la funzione deflate() di zlib. L'ultimo 1/3 è stato perso nella trasmissione. Il file originale non compresso era 600 KB.Come gonfiare un file zlib parziale
Deflate è stato chiamato più volte dal trasmettitore mentre tagliava il file originale in blocchi di dimensioni di 2 KB e passava Z_NO_FLUSH fino alla fine del file quando veniva passato Z_FINISH. Il file compresso completo risultante è stato trasmesso, ma parzialmente perso come descritto.
È possibile ripristinare parte del file originale? Se sì, qualche suggerimento su come?
Sto usando sia l'implementazione C semplice di ZLIB, e/o l'implementazione Python 2.7 di ZLIB.
Grazie, sì utilizzando decompressobj() lavorato. Stavo semplicemente usando zlib.decompress() e stava dando un errore. Utilizzando dc_obj = zlib.decompressobj() e decomp_data_str = dc_obj.decompress (orig_data_str) hai risolto il problema. – JohnSantaFe