Konvertieren bytearray bytes-wie-Objekt?

In Python 3 ich bin immer Fehler TypeError: a bytes-like object is required, not 'bytearray'

Habe ich ein bytearray, welches wie folgt aussieht:

 >>> print(my_ba)
 bytearray(b'}\x0e\x15/ow4|-')

Wenn ich geben Sie diese in der Konsole funktioniert es:

 >>> print(base58.b58encode(b'}\x0e\x15/ow4|-'))
 2bKmhuGiGP7t8

Aber das gibt eine Fehlermeldung, und ich kann nicht herausfinden, wie man die b" - string aus dem bytearray:

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

Ich bin sicher, es ist offensichtlich, aber wie wandle ich das bytearray in eine Zeichenfolge mit einem Präfix b?

print(base58.b58encode(bytes(my_ba)) - just wandeln Sie es
Ein bytearray ist ein Byte-wie-Objekt, aber die Bibliothek, die Sie verwenden hat eine unnötig restriktive Umsetzung und eine irreführende Fehlermeldung.

InformationsquelleAutor Keir Finlow-Bates | 2017-09-05

Schreibe einen Kommentar