Maison > développement back-end > Tutoriel Python > Décodage et codage de nombres hexadécimaux à l'aide de Python

Décodage et codage de nombres hexadécimaux à l'aide de Python

PHPz
Libérer: 2023-08-19 14:09:22
avant
2656 Les gens l'ont consulté

Décodage et codage de nombres hexadécimaux à laide de Python

Dans cet article, nous apprendrons comment décoder et encoder des nombres hexadécimaux à l'aide de Python.

Méthode à utiliser

  • Utilisez le module binascii

  • Utilisez le module base64

Méthode 1 : Utilisation du module Binascii

Dans le module binascii, il existe plusieurs méthodes pour convertir entre les représentations binaires et différentes représentations binaires codées en ASCII.

Si vous avez juste besoin d'encoder ou de décoder une chaîne brute de chiffres hexadécimaux, vous pouvez utiliser le module binascii.

Algorithme (étapes)

Vous trouverez ci-dessous les algorithmes/étapes pour effectuer la tâche requise. −

  • Utilisez le mot-clé import pour importer le module binascii.

  • Créez une variable pour stocker la chaîne d'octets d'entrée.

  • Encodez la chaîne d'octets d'entrée en un nombre hexadécimal à l'aide de la fonction b2a_hex() du module binascii.

  • Imprimez le nombre hexadécimal résultant de la chaîne d'octets d'entrée.

  • Utilisez la fonction a2b_hex() du module binascii pour décoder le nombre hexadécimal ci-dessus en une chaîne d'octets.

La traduction chinoise de

Exemple

est :

Exemple

Le programme suivant utilise les fonctions b2a_hex() et a2b_hex() pour encoder une chaîne d'octets d'entrée en un nombre hexadécimal et la décoder en chaîne d'octets.

# importing binascii module
import binascii

# input byte string 
inputByteString = b'tutorialspoint python'

# encoding input byte string into hexadecimal digits
hexdigits = binascii.b2a_hex(inputByteString)

# printing the resultant hexadecimal digits of the byte string 
print(hexdigits)

# decoding hexadecimal digits back into byte string 
print(binascii.a2b_hex(hexdigits))
Copier après la connexion

Sortie

Lors de l'exécution du programme ci-dessus, la sortie suivante sera générée -

b'7475746f7269616c73706f696e7420707974686f6e'
b'tutorialspoint python'
Copier après la connexion
Copier après la connexion

Méthode 2 : Utiliser le module base64

Le module

base64 a également des fonctionnalités similaires. Il peut également encoder ou décoder des nombres hexadécimaux bruts.

Algorithme (étapes)

Vous trouverez ci-dessous les algorithmes/étapes pour effectuer la tâche requise. −

  • Utilisez le mot-clé import pour importer le module base64.

  • Créez une variable pour stocker la chaîne d'octets d'entrée.

  • Utilisez la fonction b16encode() du module base64 pour coder la chaîne d'octets d'entrée en chiffres hexadécimaux (hexdigits).

  • Imprimez le nombre hexadécimal résultant de la chaîne d'octets d'entrée.

  • Utilisez la fonction b16decode() du module base64 pour décoder le nombre hexadécimal ci-dessus en une chaîne d'octets et l'imprimer.

La traduction chinoise de

Exemple

est :

Exemple

Le programme suivant encode une chaîne d'octets d'entrée en un nombre hexadécimal et la décode en chaîne d'octets à l'aide des fonctions b16encode() et b16decode() -

# importing base64 module
import base64

# input byte string 
inputByteString = b'tutorialspoint python'

# encoding input byte byte string into hexadecimal digits
# using b16encode() function of base64 module
hexdigits = base64.b16encode(inputByteString)

# printing the resultant hexadecimal digits of the byte string 
print(hexdigits)

# decoding hexadecimal digits back into byte string 
print(base64.b16decode(hexdigits))
Copier après la connexion

Sortie

Lors de l'exécution du programme ci-dessus, la sortie suivante sera générée -

b'7475746f7269616c73706f696e7420707974686f6e'
b'tutorialspoint python'
Copier après la connexion
Copier après la connexion

La conversion vers et depuis l'hexadécimal est simple dans la plupart des cas en utilisant les fonctions décrites. Le pliage du boîtier est la plus grande différence entre les deux méthodes. Par rapport aux opérations dans binascii, les fonctions base64.b16decode() et base64.b16encode() ne peuvent gérer que les lettres majuscules hexadécimales.

Il est également important de se rappeler que la sortie de la fonction d'encodage est toujours une chaîne d'octets. Vous devrez peut-être inclure des étapes de décodage supplémentaires pour forcer la sortie au format Unicode.

La traduction chinoise de

Exemple

est :

Exemple

Le programme suivant utilise la fonction de décodage pour décoder les nombres hexadécimaux au format ASCII :

# importing base64 module
import base64
 
# input byte string 
inputByteString = b'tutorialspoint python'
 
# encoding input byte byte string into hexadecimal digits
# using b16encode() function of base64 module
hexdigits = base64.b16encode(inputByteString)
 
# printing the resultant hexadecimal digitsof the byte string 
print(hexdigits)
 
# decoding hexadecimal digits in ASCII format using the decode() function
print(hexdigits.decode('ascii'))
Copier après la connexion

Sortie

Lors de l'exécution du programme ci-dessus, la sortie suivante sera générée -

b'7475746F7269616C73706F696E7420707974686F6E'
7475746F7269616C73706F696E7420707974686F6E
Copier après la connexion
Les méthodes

b16decode() et a2b_hex() acceptent les octets ou le texte Unicode comme entrée lors du décodage des nombres hexadécimaux. Cependant, ces chaînes ne peuvent contenir que des chiffres hexadécimaux codés en ASCII.

Conclusion

Dans cet article, nous avons appris à décoder et encoder la représentation hexadécimale d'un nombre à l'aide de Python. Nous avons également appris à utiliser la méthode decode() pour décoder la représentation ASCII d'un nombre hexadécimal.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal