Заставьте zlib.decompressobj() пропустить магию "ZLIB"
У меня есть куча файлов со встроенным zlib
поток. Начинается со смещения 0x200
с волшебным заголовком "ZLIB" в первом файле; следующие файлы имеют продолжение с тем же смещением, без магии.
Проблема в том, когда я делаю
d=zlib.decompressobj()
s=open("file0.bin","rb")
o=open("out.bin","wb")
s.seek(0x200,0)
c=s.read(100000)
o.write(d.decompress(c))
d.decompress
ошибки с error: Error -3 while decompressing: unknown compression method
,
Если я стремлюсь 0x204
для первого файла и 0x200
для следующих это нормально, но это неудобно.
Так как ZLIB
магия так часто обозначает zlib
потоки, должен быть какой-то стандартный способ пропустить / добавить его.
Я видел, как Python распаковывает gzip chunk-by-chunk, но он имеет дело с заголовком GZip, который совершенно другой.