下面是一个快速演示如何使用zlib压缩并使用uuencode进行编码,然后反转过程。在#!/usr/bin/env python
import zlib
data = '''This is a short piece of test data
intended to test uuencoding and decoding
using the uu module, and compression and
decompression using zlib.
'''
data = data * 5
# encode
enc = zlib.compress(data, 9).encode('uu')
print enc
# decode
dec = zlib.decompress(enc.decode('uu'))
#print `dec`
print dec == data
输出
^{pr2}$
上面的代码只适用于python2。python3在文本和字节之间进行了明确的分隔,它不支持字节字符串的编码,也不支持文本字符串的解码。所以它不能使用上面所示的简单的uuencoding/uudeconding技术。在
这是一个可以同时在Python2和python3上运行的新版本。在from __future__ import print_function
import zlib
import uu
from io import BytesIO
def zlib_uuencode(databytes, name=''