我有一个十六进制类型的缓冲区。
我无法用 zlib 膨胀这个缓冲区。它返回不正确的标头检查。
请找到以下实现:
var actualOutput = new Buffer("0130c21164300028","hex");
var actOut = actualOutput.toString('hex');
console.log(actOut);
var actBuff = new Buffer(actOut,'base64');
zlib.inflate(actBuff, function(err, actBuff) {
if (!err) {
console.log(actOut+'\ninflate\n'+actBuff.toString()+'\n');
}else{
console.log('\ninflate error:\n'+err);
}
});
您可能想actualOutput
直接传入zlib.inflate
.
在您当前拥有的代码中,您正在从十六进制字符串形成一个 Buffer,将该 Buffer 转换回十六进制字符串,将十六进制字符串解码为 base64,然后将该 Buffer 传递到zlib.inflate
. 生成的 Buffer 将包含损坏的信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句