Qui*_*tic 22 python compression
我正在尝试利用Zlib进行文本压缩.
例如,我有一个字符串,T='blah blah blah blah'我需要为此字符串压缩它.我S=zlib.compress(T)用来压缩它.现在我想要的是获得非二进制形式,S以便我可以解压缩T但在不同的程序中.
谢谢!
编辑:我想我有一个解决我想要的方法.这是方法:
import zlib, base64
text = 'STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW '
code = base64.b64encode(zlib.compress(text,9))
print code
Run Code Online (Sandbox Code Playgroud)
这使:
eNoLDnF09lbwD3MNcvPxD1cIHhxcAE9UKaU=
Run Code Online (Sandbox Code Playgroud)
现在我可以将此代码复制到另一个程序以获取原始变量:
import zlib, base64
s='eNoLDnF09lbwD3MNcvPxD1cIHhxcAE9UKaU='
data = zlib.decompress(base64.b64decode(s))
print data
Run Code Online (Sandbox Code Playgroud)
如果您知道任何其他压缩方法可以提供与上述代码一致的更好结果,请建议.
Tim*_*ker 11
计划1:
T = 'blah blah blah blah'
S = zlib.compress(T)
with open("temp.zlib", "wb") as myfile:
myfile.write(S)
Run Code Online (Sandbox Code Playgroud)
这会将压缩的字符串保存在一个调用的文件中,temp.zlib以便程序2以后可以检索并解压缩它.
计划2:
with open("temp.zlib", "rb") as myfile:
S = myfile.read()
T = zlib.decompress(S)
Run Code Online (Sandbox Code Playgroud)