开发过程中,碰到了一间事儿。服务器把字符串的内容zlib之后发给客户端,客户端通过zlib解压缩始终不正确,调试是一间很蛋疼的事情,比对二进制 眼睛都快瞅瞎了,有了Base64 就方便了很多。
一:Base64原理:
Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。
从严格意义上来说,BASE64编码算法并不算是真正的加密算法,它只是将源数据转码成为了一种不易阅读的形式,而转码的规则是公开的(解码很容易)。转码之后的数据具有不可读性,需要解码后才能阅读。
Base64编码遵循以下规则:
①.把3个字符变成4个字符。
②每76个字符加一个换行符。
③.最后的结束符也要处理。
具体的参考Base64笔记 - 阮一峰的网络日志
import zlib
import base64
a = zlib.compress("abcd".encode("utf-8"))
print(type(a),a)
b = base64.b64encode(a)
print(type(b),b)
c = base64.b64decode(b)
print(type(c),c)