使用 zlib + base64 [python] 压缩 numpy 数组

扎比尔·阿尔·纳兹

我正在尝试通过 pythonrequests模块将一个 numpy 数组发送到烧瓶服务器。

首先,我用 zlib 压缩了 numpy 数组,然后用于base64对数据进行编码,然后尝试解码和解压缩但它不起作用。

import numpy as np 
import base64
import zlib
import requests

frame = np.random.randint(0,255,(5,5,3)) # dummy rgb image
# compress
data = zlib.compress(frame)
print('compressed')
print(data)
print(len(data))
print(type(data))

data = base64.b64encode(frame)
print('b64 encoded')
print(data)
print(len(data))
print(type(data))

data = base64.b64decode(data)
print('b64 decoded')
print(data)
print(len(data))
print(type(data))

data = zlib.decompress(data)
print('b64 decoded')

我收到以下错误:

Traceback (most recent call last):
  File "client.py", line 26, in <module>
    data = zlib.decompress(data)
zlib.error: Error -3 while decompressing data: incorrect header check
罗伊2012

data = base64.b64encode(frame) 应该

b64encode (data)

你不小心编码了错误的东西......

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章