python如何读取通过gzip压缩的字符串?

post参数需要经过gzip压缩之后再aes加密,我的想法是gzip压缩之后再读取,然后aes加密,但是问题是不知如何读取压缩之后的字符串,请有了解的朋友指教。

部分代码

#coding=utf-8

from StringIO import StringIO
import gzip

def gzip_data(str):
    buf = StringIO(str)
    data = gzip.GzipFile(fileobj=buf)
    #read(),readline(),readlines()都试过,都不行;
    return data.read()

if __name__ == '__main__':
    data = raw_input('input a string:\n')
    g_data = gzip_data(data)

学python没多久,有一些东西不太清楚,还请了解的朋友指教。

阅读 8.4k
1 个回答

我觉得你只是想获取gzip压缩后的内容。

#python3
In [1]: import gzip

In [2]: gzip.compress('Hello, world'.encode())
Out[2]: b'\x1f\x8b\x08\x00\xd4i8Z\x02\xff\xf3H\xcd\xc9\xc9\xd7Q(\xcf/\xcaI\x01\x00\xc2\xa9\x9a\xe7\x0c\x00\x00\x00'

python2可能不需要encode

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题