from json import dumps, loads # json string 互转
from binascii import hexlify, unhexlify
# binascii:二进制和ASCII互转
from zlib import compress, decompress
# 使用zlib.compress可以压缩字符串。
# 使用zlib.decompress可以解压字符串
dic = {
"a": 123,
"b": 456
}
# 压缩
dumps(dic) # json -> string
>>> '{"b": 456, "a": 123}'
dumps(dic).encode() # 好像多了个b耶!!
>>> b'{"b": 456, "a": 123}'
compress(dumps(dic).encode()) # 压缩完成,有点丑
>>> b'x\x9c\xabVJR\xb2R015\xd3QPJ\x04\xb2\x0c\x8d\x8ck\x01/r\x04y'
hexlify(compress(dumps(dic).encode())) # 美化
>>> b'789cab564a52b252303135d351504a04b20c8d8c6b012f720479'
s = hexlify(compress(dumps(dic).encode())).decode() # 完美
>>>'789cab564a52b252303135d351504a04b20c8d8c6b012f720479'
# 解压
loads(decompress(unhexlify(s)).decode())
>>> {'a': 123, 'b': 456}
Python 数据压缩
最新推荐文章于 2024-04-16 07:30:00 发布