Konvertieren Sie Hex in ASCII in Python
-
Konvertieren von Hex in Python mit der Methode
decode()
in ASCII -
Konvertieren von Hex in Python mit der Methode
codecs.decode()
in ASCII
In diesem Tutorial werden verschiedene Methoden zum Konvertieren einer hexadezimalen Zeichenkette in eine ASCII-Zeichenkette in Python erläutert. Angenommen, wir haben eine Zeichenkette in hexadezimaler Form 68656c6c6f
geschrieben und möchten sie in eine ASCII-Zeichenkette konvertieren, die hello
lautet, da h
im ASCII-Code gleich 68
ist und e
64
ist, l
ist 6c
und o
ist 6f
.
Wir können eine hexadezimale Zeichenkette in Python mit den folgenden Methoden in eine ASCII-Zeichenkette konvertieren:
Konvertieren von Hex in Python mit der Methode decode()
in ASCII
Die Methode string.decode(encoding, error)
in Python 2 verwendet eine codierte Zeichenkette als Eingabe und decodiert sie mit dem im Argument encoding
angegebenen Codierungsschema. Der Parameter error
gibt die Fehlerbehandlungsschemata an, die im Falle eines Fehlers verwendet werden sollen, der strict
, ignore
und replace
sein kann.
Um eine Hex-Zeichenkette in eine ASCII-Zeichenkette zu konvertieren, müssen Sie daher den Parameter encoding
der Methode string.decode()
auf hex
setzen. Der folgende Beispielcode zeigt, wie Sie mit der Methode string.decode()
ein Hex in Python 2 in ASCII konvertieren.
string = "68656c6c6f"
string.decode("hex")
Ausgabe:
hello
In Python 3 verwendet die Methode bytearray.decode(encoding, error)
ein Byte-Array als Eingabe und dekodiert es mit dem im Argument encoding
angegebenen Kodierungsschema.
Um einen String in Python 3 zu dekodieren, müssen wir ihn zuerst in ein Byte-Array konvertieren und dann mit der Methode bytearray.decode()
dekodieren. Mit der Methode bytearray.fromhex(string)
kann der String zuerst in ein Byte-Array konvertiert werden.
Der folgende Beispielcode zeigt, wie Sie die Methoden bytearray.decode()
und bytearray.fromhex(string)
verwenden, um eine hexadezimale Zeichenkette in Python 3 in eine ASCII-Zeichenkette zu konvertieren.
string = "68656c6c6f"
byte_array = bytearray.fromhex(string)
byte_array.decode()
Ausgabe:
hello
Konvertieren von Hex in Python mit der Methode codecs.decode()
in ASCII
Die Methode codecs.decode(obj, encoding, error)
ähnelt der Methode decode()
. Es nimmt ein Objekt als Eingabe und decodiert es mit dem im Argument encoding
angegebenen Codierungsschema. Das Argument error
gibt das Fehlerbehandlungsschema an, das im Fehlerfall verwendet werden soll.
In Python 2 gibt codecs.decode()
einen String als Ausgabe zurück und in Python 3 ein Byte-Array. Der folgende Beispielcode zeigt, wie eine Hex-Zeichenkette mit der Methode codecs.decode()
in ASCII konvertiert und das zurückgegebene Byte-Array mit der Methode str()
in eine Zeichenkette konvertiert wird.
import codecs
string = "68656c6c6f"
binary_str = codecs.decode(string, "hex")
print(str(binary_str, "utf-8"))
Ausgabe:
hello
Verwandter Artikel - Python ASCII
- Konvertieren Sie Int in ASCII in Python
- Konvertieren von String in ASCII-Wert in Python
- ASCII-Wert eines Zeichens in Python ermitteln