将 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"))
我在 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"))