python zlib字符串压缩
在做网络程序时,可以对字符串进行压缩来节省带宽
项目中用到 {"compress": <压缩标记>, "result":[[设备类型.设备ID, 设备名称, 单位ID, 设备功能], ...]}
只做了简单的压缩解压缩,也没crc32(循环冗余校验)
01 |
# -*- coding: utf-8 -*- |
02 |
03 |
"""和zipfile不同的是, zlib多用于网络收发字符串的压缩与解压""" |
04 |
import zlib |
05 |
06 |
raw_data =
"hello,world,ooooooooooooxxxxxxxxxxx" |
07 |
zb_data =
zlib.compress(raw_data) |
08 |
09 |
print "len(raw_data)=%d, len(zb_data)=%d, compression ratio=%.2f" \ |
10 |
%
( len (raw_data),
len (zb_data), float ( len (zb_data)) / len (raw_data)) |
11 |
12 |
# len(raw_data)=35, len(zb_data)=25, compression ratio=0.71 |
13 |
raw_data2 =
zlib.decompress(zb_data) |
14 |
print raw_data2 |