【发布时间】:2018-02-14 06:52:45
【问题描述】:
在 Python 3 中,我收到错误 TypeError: a bytes-like object is required, not 'bytearray'
我有一个字节数组,看起来像这样:
>>> print(my_ba)
bytearray(b'}\x0e\x15/ow4|-')
如果我在控制台中输入它,它会起作用:
>>> print(base58.b58encode(b'}\x0e\x15/ow4|-'))
2bKmhuGiGP7t8
但这会报错,我不知道如何从 bytearray 中获取 b'' 字符串:
>>> print(base58.b58encode(my_ba))
TypeError: a bytes-like object is required, not 'bytearray'
我确定这很明显,但是如何将字节数组转换为带有 b 前缀的字符串?
【问题讨论】:
-
print(base58.b58encode(bytes(my_ba))- 只需转换它 -
字节数组 is 是一个类似字节的对象,但您使用的库具有不必要的限制性实现和误导性错误消息。
-
@user2357112,顺便说一句,我在 stdlib
zlib.decompress方法中遇到了相同的字节参数限制
标签: arrays python-3.x