我用我下面幾行代碼:解壓壓縮zlib的字符串字節切片
payloadByte = zlib.compress(str.encode("hello"))
print(zlib.decompress(payloadByte[0:4]))
然而,ZLIB引發以下錯誤:
zlib.error: Error -5 while decompressing data: incomplete or truncated stream
我需要使用字節切片技術由於我必須從大字節數組中的特定點解壓縮。我創建了使用結構這個字節數組,像這樣:
messageIdByte = struct.pack("i", int(messageId))
payloadByte = zlib.compress(str.encode("hello"))
return messageIdByte + payloadByte
在這個例子中,我已經解開,像這樣的結構:
messageId = struct.unpack("i", bytes[0:4])[0]
現在,我需要解壓縮從字符串字節數組,但獲取特定字節[4:8]會產生此錯誤。
你能否澄清你爲什麼需要這樣做?在這個例子中,你提出的問題不是你正在解壓縮數組的一部分,而是你正在解壓縮一些不是有效的,zlib壓縮的數據塊。 – Irisshpunk
我已更新我的問題,希望能夠反映出我想要的代碼。 – Rob
可能這是你在找什麼:http://stackoverflow.com/questions/1838699/how-can-i-decompress-a-gzip-stream-with-zlib? – Dekel