python 2.x zlib.从mysql解压缩数据

use*_*324 5 python

我可以在python中解压从mysql压缩的数据吗?

mysql 5.6

select to_base64(compress("test"));
Run Code Online (Sandbox Code Playgroud)

mysql 的结果

BAAAAHicK0ktLgEABF0BwQ==
Run Code Online (Sandbox Code Playgroud)

python 解压

>>> import zlib
>>> import base64
>>> s = "BAAAAHicK0ktLgEABF0BwQ=="
>>> zlib.decompress(base64.b64decode(s))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
zlib.error: Error -3 while decompressing data: incorrect header check
Run Code Online (Sandbox Code Playgroud)

我检查了zlib 手册,我不知道为什么会出现错误?

解决方案 我从我的朋友那里找到了解决方案。

ss = base64.b64decode(s)
zlib.decompress(ss[4:])
Run Code Online (Sandbox Code Playgroud)

Way*_*ner -1

我预计 mysql 没有以正确的方式压缩它(或者无论如何都没有使用 zlib)

import zlib
import base64
print(base64.b64encode(zlib.compress('test'))) # 'test'.encode() on Python3
Run Code Online (Sandbox Code Playgroud)

生产:

'eJwrSS0uAQAEXQHB'
Run Code Online (Sandbox Code Playgroud)