接口测试 Python3:字节字符串经过 gzip.decompress (),再经过 gizp.compress () 之后结果不一致

王理发修车铺 · 2017年12月20日 · 最后由 王理发修车铺 回复于 2017年12月29日 · 2636 次阅读

import gzip

str = b'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x0b\xed\x90K\x0e\xc20\x0cD\xef\x92u\x85\xec4i\x1a\xae\x82\x10\xb2\x82#E\xeaOm\xc5\x06qw\xdc\x96\x16\xe8\x8a\x03\xe0\xa5\xdf\x8c=\x9a\xd3]\x85\xd4pM\x97\xd0^Y\x1d\x95\xd9Fe\xaam*\x81\x03U\xbcb\xef\xd1b^h\x81C\xe8\x99\x9b\x15\xc0\xf7L\xee\x98\xaa\xfa\x8d\x11\x01s\xaf\x01\xdd\xe4\xe5aH\xedf\x0e\x0e\xb4\x8f\xcex\x8a\x81Jg?\x14W\x1ayL\xb5\xa8\xe41B\xe9\x10@\x82u\xdc\xd3(\\\xcc(\xea\xd7\x9dYb\xbd5\xce\x1a\x8d\xda\xccwh\\\xdf\xb8"\x12\x92\x89\xda\xc6B3\xb0\xe0\xaeOav\x96\x07\x80Y\xde\xdf\x96\r,\x8b\xa5\x82\xcb\xd4\x81D\xc8\xd4.\x8f<+\xcd#\xdb\xb7\x98o\xf3o\xf1\xe7\x16\xcfO\x0b\x98\xfb[\x8d\x02\x00\x00'

de_data = gzip.decompress(str)
en_data = gzip.compress(de_data)
print en_data

#en_data 与str 不一样

环境是 win7 Python36,请大神指教。

共收到 6 条回复 时间 点赞

压缩后的为什么要一致?
只要保证解压后一致就可以了

可能是我表达的不太正确,实际上是这样的,str 是已经压缩过的了,然后我对 str 解压,之后再对解压的字符串压缩,最后获得的字符串与 str 不一致;

没理解错.为什么要比较压缩后的东西
压缩后的字符串并不是有意义的东西

是的,的确没有意义,当初我钻了牛角尖,现在已经解决了,不是压缩的事,谢啦。

贴出来这个 str 是用 php 的 gzip 方式加密的,然后我用 python 的 gzip 库解压,解压之后的字符串与 php 加密之前的是一致的,但是用 python 的 gizp 库压缩之后的 str 与 php 压缩的不一致,不知道为什么;

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册