如何将数组编码为base64将其保存到文件中,然后读取并解码i

2024-10-03 09:10:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想对一些数据进行base64编码,将其存储在文件中,然后再次读取。我想使用binascii库,但它似乎不起作用。基本上,编码为64的方法也不会真正返回字符串,而是返回字节数组。如何获得实际的base64字符串?你知道吗

下面是显示问题的代码

myArray = np.array([[1, 2, 3],[4, 5, 6]])
serializedArray = binascii.b2a_base64(myArray, newline = False)

with open("Output.txt", "w") as text_file:
    text_file.write(str(serializedArray))

with open("Output.txt", "r") as text_file:
    readFromFile = text_file.read()

print(serializedArray)
print(readFromFile)
print(len(serializedArray))
print(len(readFromFile))  

Tags: 字符串texttxt编码outputaswithopen
1条回答
网友
1楼 · 发布于 2024-10-03 09:10:01

在这种情况下,使用bytes读写文件要简单得多。你知道吗

import numpy as np
import binascii

myArray = np.array([[1, 2, 3],[4, 5, 6]], dtype=np.float64)
print(myArray)
serializedArray = binascii.b2a_base64(myArray, newline = False)

with open("Output.txt", "wb") as text_file:
    text_file.write(serializedArray)

with open("Output.txt", "rb") as text_file:
    readFromFile = text_file.read()

print(type(serializedArray))
print(type(readFromFile))

print(serializedArray)
print(readFromFile)

a = binascii.a2b_base64(readFromFile)
decoded_array = np.frombuffer(a, dtype=np.float64)

print(decoded_array)

相关问题 更多 >