python 自带的 zlib模块
zlib 模块 : 实现数据的 压缩 和 解压缩
''' zlib 压缩后是一个 字节 类型的数据格式 试过多种方式都无法编译成字符串,字符串为了储存到数据库 ''' ''' 解决方法:base64 把 字节 通过base64作一个封装,转成一个可编译的字节,在通过 encode 与decode 进行转化 ''' ''' 转化后的 zlib字节 在通过 zlib 进行解压 即可 '''
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
@classmethod def dumps(cls, obj, compress=False, level=1, ensure_ascii=True): if compress: compress_obj = zlib.compressobj() compress_obj = compress_obj.compress(ujson.dumps(obj).encode('utf-8')) + compress_obj.flush() return base64.b64encode(compress_obj).decode('utf-8') else: return ujson.dumps(obj, double_precision=4, ensure_ascii=ensure_ascii) @classmethod def loads(cls, string, default=None, decompress=False): if decompress: decompress_obj = zlib.decompressobj() decompress_obj = decompress_obj.decompress(base64.b64decode(string.encode('utf-8'))) + decompress_obj.flush() return ujson.loads(decompress_obj) else: return ujson.loads(string) if string else default