如何使用pako解压截断的gzip部分内容?
Node.js中zlib可解压截断的gzip内容,但pako实现失败
在Node.js环境下,使用zlib可以解压截断的gzip部分内容,但尝试用pako实现相同功能时却失败了。以下是测试代码:
const s = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8bV23J15O4\xb14\xb1H61417KKLL\xb50L5U\x8a\x05\x00\xf6\xaa\x8e.\x1c\x00\x00\x00"; const truncated = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8bV23J15O4\xb14\xb1H61417KKLL\xb50L5U\x8a\x05\x00\xf6\xaa\x8e.\x1c\x00\x00"; // 无法正常工作 const array = Uint8Array.from([...s].map(v => v.charCodeAt(0))); var data = pako.inflate(array); var strData2 = String.fromCharCode.apply(null, new Uint16Array(data)); console.log(strData2);
解压完整的s可以成功,但解压截断后的truncated会得到空字符串。
更新:
尝试使用流式语法也无效:
const inflate = new pako.Inflate({ level: 3}); inflate.push(array, true); // 也尝试过传false
内容的提问来源于stack exchange,提问作者Moshe Shaham
相关产品推荐
相关产品推荐

