编码解码numpy.数组为base64.为什么需要使用numpy.frombuffer?



请考虑,以下代码:

import base64
import numpy as np
array = np.array([1,2]).astype('float32')
arrayencode64 = base64.b64encode(array)
arraydecode64 = base64.b64decode(arrayencode64)
ARRAY = np.frombuffer(arraydecode64, dtype='float32')
print(array)
print()
print(arrayencode64)
print()
print(arraydecode64)
print()
for el in arraydecode64:
print(el)
print()
print(ARRAY)

问题1:我想了解为什么,在应用base64.b64decode之后,我不检索原始对象?为什么要用np。frombuffer读取使用指定的类型?

因为,我期望获得目标对象(numpy)。在base64.b64decode应用之后,在数组变量中绑定的数组).

问题2:当我打印变量时,arraydecode64使用for循环我得到了一个数列。它们到底是什么意思?

谢谢。

根据文档,base64.b64decode所做的就是接受字符串并返回字节对象。然后np.frombuffer获取这些字节并创建一个数组。base64不知道numpy如何表示字节,也不知道数组是什么。

最新更新