作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在服务器端,我使用 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/
我是一名优秀的程序员,十分优秀!