【发布时间】:2017-11-01 15:03:47
【问题描述】:
在服务器端,我使用 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
我做错了什么?
【问题讨论】:
-
再次检查您的编码?使用字符串可能会更改字节顺序或添加意外位?您可以考虑使用 base64 进行传输以减少此类错误。
-
肯定是编码问题。字符串应该是
var s = 'x\x9c\xabVJ\xcb\xcfW\xb2RPJJ,R\xaa\x05\x00 \x98\x04T'
标签: javascript python zlib