2017-09-05 64 views
1

在Python 3我收到提示TypeError: a bytes-like object is required, not 'bytearray'將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' 

我確定這很明顯,但是如何將bytearray轉換爲帶有b前綴的字符串?

+1

'打印(base58.b58encode(字節(my_ba))' - 只是把它轉換 –

+0

的ByteArray *是*類似字節的對象,但是您使用的庫具有不必要的限制性實現和誤導性錯誤消息。 – user2357112

回答

1

由於Coldspeed把它的意見,只是通過一個字節組到bytes電話:

bytes(my_ba)