节点 pako.gizp() 与 python gzip 问题

node pako.gizp() with python gzip issue

我正在使用 Python 恢复 Node pako gzip 方法并遇到以下问题:

节点:

const pako = require('pako');
const test = 'aaa'
var data = pako.gzip(test);
console.log(data)
Uint8Array(23) [
   31, 139,   8,  0,  0, 0, 0,  0,
    0,   3,  75, 76, 76, 4, 0, 45,
  115,   7, 240,  3,  0, 0, 0
]

python:

import numpy
import gzip
test = 'aaa'
compressed_byte_pako = gzip.compress(test.encode('utf-8'))
compressed = numpy.frombuffer(compressed_byte_pako,  dtype=numpy.uint8)
print(compressed)
[ 31 139   8   0 178  45  89  98   2 255  75  76  76   4   0  45 115   7
 240   3   0   0   0]

为什么压缩不一致?

虽然不能保证它们一定会,但它们的压缩方式是相同的。对未压缩数据进行检查的压缩部分和尾部是每个的最后 13 个字节,并且是相同的。两者都将解压缩为原始数据 ('aaa')。

前十个字节是 gzip headers。第一个没有时间戳、压缩级别或操作系统信息。第二个是。