nodejs zlib 膨胀六缓冲区

nodejs zlib inflate the hexa buffer

我有一个十六进制类型的缓冲区。

我无法使用 zlib 扩充此缓冲区。它返回不正确的 header 检查。

请找到以下实现:

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

在您当前的代码中,您从十六进制字符串形成一个缓冲区,将该缓冲区转换回十六进制字符串,将十六进制字符串解码为 base64,然后传递该缓冲区进入 zlib.inflate。生成的缓冲区将包含损坏的信息。