节点 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。第一个没有时间戳、压缩级别或操作系统信息。第二个是。
我正在使用 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。第一个没有时间戳、压缩级别或操作系统信息。第二个是。