我正在尝试在Python中压缩字符串并在JavaScript中解压缩它。
在Python中压缩字符串:
import zlib, base64
text = "Test string"
result = base64.b64encode(zlib.compress(text.encode("utf-8"))
在JavaScript中:
const zlib = require('zlib');
var data = atob(<text encoded in base64 from Python>);
zlib.inflate(data, function(err, buffer){
if(!err){
// doing something
}
else{
console.log(err); // <-- Error: data error: incorrect header check
}
});
在JavaScript中,它返回&#34;不正确的标题检查&#34;错误。我应该如何在Python中压缩数据以在JavaScript中获得相同的zlib.inflate()值?
非常感谢任何帮助或建议!
答案 0 :(得分:0)
您在javascript代码中将字符串传递给zlib.inflate
,但它需要Buffer
个实例。
var data = Buffer.from('eJwLSS0uUSguKcrMSwcAGWAEWA==', 'base64')
zlib.inflate(data, function(err, buffer) {
if (!err) {
console.log(buffer.toString());
} else {
console.log(err);
}
})
Test string