python-3.x - 为什么gzip不一致?

标签 python-3.x ascii gzip

为什么这些行不会给我相同的结果?

>>> gzip.compress('same'.encode('ascii'))
b'\x1f\x8b\x08\x00\xe2\x0e0V\x02\xff+N\xccM\x05\x00D\xf1P\xfc\x04\x00\x00\x00'
>>> gzip.compress('same'.encode('ascii'))
b'\x1f\x8b\x08\x00\xe3\x0e0V\x02\xff+N\xccM\x05\x00D\xf1P\xfc\x04\x00\x00\x00'

这对于单元测试来说非常烦人。

最佳答案

gzip header 包含修改时间戳。 请参阅here

对于单元测试,您也许可以跳过标题并比较其余部分。

类似这样的事情:

a = gzip.compress('same'.encode('ascii'))
b = gzip.compress('same'.encode('ascii'))

a[5:] == b[5:]

不确定其中的值 5,但这似乎是它正在使用的 header 大小。

关于python-3.x - 为什么gzip不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33380624/

相关文章:

java.io.IOException : Not in GZIP format with class. getResourceAsStream() 异常

python - 内部类的实例作为外部类方法的默认值

python - 如何在Python3中同时移动2只 turtle

Python:将 re.sub 用于编码为 &#number; 的 ascii 数字

apache - 如何缓存 Apache GZIP 压缩内容

gzip - 结合放气和缩小 - 我是否在创造开销?

python - itertools 的 chain.from_iterable 和 chain() 的更简化解释

python - TensorFlow keras 模型 fit() 参数 steps_per_epoch 和 epochs 在训练集上的行为

django - 如何阻止 Django 模板 render_to_string 尝试将 unicode 编码为 ascii?

c# - 墨西哥 D.F.以墨西哥 D.F. 的身份出现回发时