gpt4 book ai didi

javascript - 使用zlib.js解压python zlib compress

转载 作者:行者123 更新时间:2023-11-30 21:01:55 27 4
gpt4 key购买 nike

在服务器端,我使用 python zlib 压缩一个字符串,如下所示:

import zlib

s = '{"foo": "bar"}'
compress = zlib.compress(s)
print compress

前面代码的结果如下

xœ«VJËÏW²RPJJ,Rª

在客户端,我使用 zlib.js解压

var s = "xœ«VJËÏW²RPJJ,Rª"
var data = new Array(s.length);
for (i = 0, il = s.length; i < il; ++i) {
data[i] = s.charCodeAt(i);
}
var inflate = new Zlib.Inflate(data);

出现以下错误

zlib_and_gzip.min.js:1 Uncaught Error: invalid fcheck flag:28
at new tb (zlib_and_gzip.min.js:48)
at <anonymous>:1:15

我做错了什么?

最佳答案

问题在于编码。在 python 中,我使用 base64 进行编码。

>>> import zlib

>>> s = '{"foo": "bar"}'
>>> compress = zlib.compress(s)
>>> print compress.encode('base64')

>>> "eJyrVkrLz1eyUlBKSixSqgUAIJgEVA=="

在客户端:

var s = atob("eJyrVkrLz1eyUlBKSixSqgUAIJgEVA==");

var data = new Array(s.length);
for (i = 0, il = s.length; i < il; ++i) {
data[i] = s.charCodeAt(i);
}

var inflate = new Zlib.Inflate(data);
var decompress = inflate.decompress();
var plain = new TextDecoder("utf-8").decode(decompress);

plain
'{"foo": "bar"}'

非常感谢您的帮助

关于javascript - 使用zlib.js解压python zlib compress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47057832/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com