将 ActionScript3 的 ByteArray uncompress() 转换为 Python 3

Translating ActionScript3's ByteArray uncompress() to Python 3

我在 ActionScript3 中创建了下面的示例代码以 deflate-uncompress 一个字符串:

    var byteArray = new ByteArray();
    byteArray.position = 0;
    byteArray.writeUTF("Whosebug");
    byteArray.compress("deflate");
    trace("Compressed: " + byteArray.toString());
    byteArray.uncompress("deflate");
    trace("Uncompressed: " + byteArray.toString());

似乎 ActionScript3 稍微修改了 RFC1951 以删除 headers。目前,我无法复制 Python 中的代码片段 3. 我尝试使用 Py3AMF 库,但是我没有看到执行 deflate uncompress 的方法。

谢谢!

解决了!解决方案是使用

-zlib.MAX_WBITS

这是 Python 3 中的代码片段:

f = open("decode.txt", "rb")
data = f.readline()
print(data)
print((zlib.decompress(data, -zlib.MAX_WBITS)).decode("utf-8"))