Convertir Hex en ASCII en Python
-
Convertir Hex en ASCII en Python en utilisant la méthode
decode()
-
Convertir Hex en ASCII en Python en utilisant la méthode
codecs.decode()
Ce tutoriel examinera différentes méthodes pour convertir une chaîne hexadécimale en chaîne ASCII en Python. Supposons que nous ayons une chaîne écrite sous forme hexadécimale 68656c6c6f
et que nous voulions la convertir en une chaîne de caractères ASCII qui sera hello
car h
est égal à 68
en code ASCII, e
est 64
, l
est 6c
et o
est 6f
.
Nous pouvons convertir une chaîne hexadécimale en chaîne ASCII en Python en utilisant les méthodes suivantes:
Convertir Hex en ASCII en Python en utilisant la méthode decode()
La méthode string.decode(encoding, error)
de Python 2 prend une chaîne encodée en entrée et la décode en utilisant le schéma d’encodage spécifié dans l’argument encoding
. Le paramètre error
spécifie les schémas de gestion des erreurs à utiliser en cas d’erreur qui peut être strict
, ignore
, et replace
.
Par conséquent, pour convertir une chaîne hexadécimale en chaîne ASCII, nous devons définir le paramètre encoding
de la méthode string.decode()
sur hex
. L’exemple de code ci-dessous montre comment utiliser la méthode string.decode()
pour convertir un hex en ASCII dans Python 2.
string = "68656c6c6f"
string.decode("hex")
Production:
hello
En Python 3, la méthode bytearray.decode(encoding, error)
prend un tableau d’octets en entrée et le décode en utilisant le schéma d’encodage spécifié dans l’argument encoding
.
Pour décoder une chaîne en Python 3, il faut d’abord convertir la chaîne en un tableau d’octets puis utiliser la méthode bytearray.decode()
pour la décoder. La méthode bytearray.fromhex(string)
peut être utilisée pour convertir d’abord la chaîne en un tableau d’octets.
L’exemple de code ci-dessous montre comment utiliser les méthodes bytearray.decode()
et bytearray.fromhex(string)
pour convertir une chaîne hexadécimale en chaîne ASCII dans Python 3:
string = "68656c6c6f"
byte_array = bytearray.fromhex(string)
byte_array.decode()
Production:
hello
Convertir Hex en ASCII en Python en utilisant la méthode codecs.decode()
La méthode codecs.decode(obj, encoding, error)
est similaire à la méthode decode()
. Il prend un objet en entrée et le décode en utilisant le schéma d’encodage spécifié dans l’argument encoding
. L’argument error
spécifie le schéma de gestion des erreurs à utiliser en cas d’erreur.
En Python 2, le codecs.decode()
renvoie une chaîne en sortie, et en Python 3, il renvoie un tableau d’octets. L’exemple de code ci-dessous montre comment convertir une chaîne hexadécimale en ASCII en utilisant la méthode codecs.decode()
et convertir le tableau d’octets retourné en chaîne en utilisant la méthode str()
.
import codecs
string = "68656c6c6f"
binary_str = codecs.decode(string, "hex")
print(str(binary_str, "utf-8"))
Production:
hello
Article connexe - Python ASCII
- Convertir Int en ASCII en Python
- Convertir une chaîne en valeur ASCII en Python
- Obtenir la valeur ASCII d'un caractère en Python