Ich habe eine lange Folge von Hex-Ziffern in einer Zeichenfolge, wie z
000000000000484240FA063DE5D0B744ADBED63A81FAEA390000C8428640A43D5005BD44
nur viel länger, mehrere Kilobyte. Gibt es eine integrierte Möglichkeit, dies in Python 2.6 / 3 in ein Byte-Objekt zu konvertieren?
Antworten:
Funktioniert in Python 2.7 und höher, einschließlich Python3:
Hinweis: Es scheint einen Fehler mit der
bytearray.fromhex()
Funktion in Python 2.6 zu geben. In der Dokumentation zu python.org wird angegeben, dass die Funktion eine Zeichenfolge als Argument akzeptiert. Bei Anwendung wird jedoch der folgende Fehler ausgegeben:quelle
bytes(bytearray.fromhex('deadbeef'))
binascii.unhexlify()
.quelle
Sie können dies mit dem Hex-Codec tun. dh:
quelle
codecs.decode('0a0a0a', 'hex_codec')
sollte für 2.x und 3.xProbieren Sie das binascii-Modul aus
quelle
unhexlify
jetzt keine Zeichenfolge mehr akzeptiert wird, sondern nur Bytes. Eigentlich ziemlich albern, aber es bedeutet, dass Sie verwenden müssenb = unhexlify(bytes(myhexstr, 'utf-8'))
So habe ich es gemacht.
quelle
quelle