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

PHPz
Libérer: 2023-08-19 14:09:22
avant
2530 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 lemodule binascii.

Algorithme (étapes)

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

  • Utilisez le mot-clé import pour importer le modulebinascii.

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

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

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

  • Utilisez la fonctiona2b_hex()du modulebinasciipour 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

base64a é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 modulebase64.

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

  • Utilisez la fonctionb16encode()du modulebase64pour 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 fonctionb16decode()du modulebase64pour 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îtierest la plus grande différence entre les deux méthodes. Par rapport aux opérations dans binascii, les fonctionsbase64.b16decode()etbase64.b16encode()ne peuvent gérer que les lettresmajusculeshexadé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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!