在做网络程序时,可以对字符串进行压缩来节省带宽
项目中用到 {"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 |