我正在努力解决以下问题:
我有一个包含以下二进制数据的数组(加密后):
data = '\x03×ÿ\x7f*J\x9aÖ¯AÀM|ü{R2+M°ø2\x83.\x1f@µ³U¡VT'
我想对它进行base64编码。
当我这样做时
binascii.b2a_base64(data)
我正在TypeError: a bytes-like object is required, not 'str'
我迫切需要一个如何处理这类数据的建议。请帮忙!
更新:我修复了数据类型,当然 - 我的问题与单个字符串相关
答案 0 :(得分:0)
你没有二进制数据,你有文本字符串。
首先将文本转换为字节;你可以通过编码来实现。它看起来就像你生成了与Latin-1字节一对一对应的Unicode代码点,所以你可以编码到那个编解码器:
for value in array:
bytes_value = value.encode('latin-1')
base64_encoded = binascii.b2a_base64(bytes_value)
但是,适合您的文本的编码取决于它首先生成的方式。如果您正在加密,您可能需要修改加密代码以不直接生成文本而是生成字节。