【发布时间】:2016-08-19 03:41:55
【问题描述】:
我想解压这个字符串 "\x1F\x8B\x08\x00\x00\x00\x00\x00\x00\x00UP]k\xC3\x14\xFD+\xC3\xE7\xCD\xA8\xF9X\xE2\xEBX\xA1\x0CF\x1F\ xBA\xEE%\x10\xAC\xB1\xAD\xC4h\x88f%\x8C\xFD\xF7]\x1B\xDA\xAD\xF8\xE29\xE7z\xEE9~#\xE7\x11G\xAF\xBB\x1C =\x22\xDFv_j\x04H+@\xBAW\x1A\xEEe\x91>SF\x18+i\x9Ef\x04\x84\xA1;\x02/]\x8F\xA5Q\xC2\xF6\xC2\x075\xE2\ xFE8\x89\xB1m\xA4\x85\x89V\xFB\xC1\x88\x19\xA6\xDE\xB6\x1Fe\xB6y\x08\xCA\x87\xA7N\xCD\x1E\xC4^H\x10\xF6\ x19'\x19/\x14g\x92K\xC1[\x06\xCA\xB2\x9Ca\x82K@\x07m\x8F\x17B\x98\xC1\xD7\xC9a2\xA6\xD9W\xA4j\xBAI\x9E\x84\ xAB\x93\x7F\x80g\x18N\x9D,\xEB\xEA\x84fyJIAI\xCE'\xAF\xC6:\xB9\x0B\xE0\xF6\xDA\xA8\x95qg0\x8FE\x87Ke\x86iQbZU\x98\x924 \xD6\x1C];\xC9\xB0n\xA3Jhd\x8C\x08\xB7\xCF\x1AN\xCE\xAA-|R\x94\xB3\x82\xA6\xE0\x902v\x19\xB4*l\xE7! *\x9F\xEB\xD5\x1A\x88\xB3>\xE8\xBF\x85\xC1u\xCA\x22n\xA1\x11\xA4\x99wj|\x17\x8B\x0F\x86\xF2\x8D\x8C\ xE5\x85\x0Cn\x9Co\xDBt\xEF\xF5\xF2X\x1A\xADlx9\x09k\x95\xB9\x9A\xC8+DtI\xB0\xD116\xFA\xF9\x05\xBAs\xAET\xE0\x01\ x00\x00"
这个字符串是通过gzip编码压缩的,我想解压这个,所以我把这个字符串保存在文件中并读取文件来解压,这是行不通的,否则我使用python解释器模式并将字符串粘贴到命令行中代码是工作
我想这是字符集问题,但我无法修复它!所以我希望有人给我一个解决方案! 我的代码很糟糕,工作环境是linux。
import zlib
file_obj=open("compress_data.log","r+")
for gz_data in file_obj.readlines():
print gz_data
decompressed_data = zlib.decompress(gz_data, 16+zlib.MAX_WBITS)
print decompressed_data
【问题讨论】:
-
使用 StringIO 模块。
-
file_obj = StringIO(gzip_string); decompressed_data = zlib.decompress(fileobj=file_obj) -
error msg " 必须是字符串或只读缓冲区,而不是实例"
-
你确定
gzip_string是一个字符串吗?