-1

我正在努力解决以下问题:

我有一个包含以下二进制数据的数组(加密后):

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'

我迫切需要一个如何处理这种数据的建议。请帮忙!

更新:我修复了数据类型,当然 - 我的问题与单个字符串有关

4

1 回答 1

0

你没有二进制数据,你有文本字符串。

首先将文本转换为字节;你可以通过编码来做到这一点。看起来好像您生成了与 Latin-1 字节一对一对应的 Unicode 代码点,因此您可以编码到该编解码器:

for value in array:
    bytes_value = value.encode('latin-1')
    base64_encoded = binascii.b2a_base64(bytes_value)

但是,哪种编码适合您的文本首先取决于它的生成方式。如果您正在加密,您可能希望将加密代码修复为不直接生成文本而是生成字节。

于 2016-10-29T14:31:54.617 回答