在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

但这给出了一个错误,我无法找到如何从字节数组中获取b''字符串:

 >>> print(base58.b58encode(my_ba))
 TypeError: a bytes-like object is required, not 'bytearray'

我相信这是显而易见的,但我如何将字节数组转换为前缀为b的字符串呢?

推荐答案

正如Coldspeed在 comments 中所说的那样,只需将bytearray传递给bytes个电话:

bytes(my_ba)

Python-3.x相关问答推荐

Python3和请求-超文本标记语言:试图抓取一个网站-没有取回真正的超文本标记语言代码

循环遍历数据框以提取特定值

如何使用魔杖扭曲图像

TypeError: issubclass() arg 1 在 Flask 中导入 langchain 时必须是一个类

合并所有文件并获取特定列数据

仅当从 USB 摄像头接收到新图像时才处理图像

attrs 将 list[str] 转换为 list[float]

获取字符串中的两个工作日之间的差异

使用 OpenCV 从图像中减go 一条线

有没有办法使用重采样矢量化添加缺失的月份?

为什么最简单的流光示例会出错?

从 Python2 到 Python3 的这种解包行为的变化是什么?

python 3.7 websockets的1006连接异常关闭错误

Python:pprint的模块错误,打印没有错误

无法在 Windows 8 中使用 Python 3.3 找到 vcvarsall.bat

用 numpy nan 查找列表的最大值

如何使用 Python 订阅 Websocket API 通道?

谁能给我一个 Python 3 中标准输入和标准输出的快速教程?

如何使用已打开并使用登录凭据登录的浏览器

十六进制字符串到 Python 3.2 中的带符号整数?