Heim > Backend-Entwicklung > Python-Tutorial > Dekodierung und Kodierung von Hexadezimalzahlen mit Python

Dekodierung und Kodierung von Hexadezimalzahlen mit Python

PHPz
Freigeben: 2023-08-19 14:09:22
nach vorne
2690 Leute haben es durchsucht

Dekodierung und Kodierung von Hexadezimalzahlen mit Python

In diesem Artikel erfahren wir, wie man Hexadezimalzahlen mit Python dekodiert und kodiert.

Methode zur Verwendung

  • Verwenden Sie das Binascii-Modul

  • Base64-Modul verwenden

Methode 1: Verwendung des Binascii-Moduls

Im Binascii-Modul gibt es mehrere Methoden zum Konvertieren zwischen binären und verschiedenen ASCII-codierten Binärdarstellungen.

Wenn Sie nur eine rohe Folge hexadezimaler Ziffern kodieren oder dekodieren müssen, können Sie das binascii-Modul verwenden.

Algorithmus (Schritte)

Unten sind die Algorithmen/Schritte zum Ausführen der erforderlichen Aufgabe aufgeführt. −

  • Verwenden Sie das Schlüsselwort import, um das Modul binascii zu importieren.

  • Erstellen Sie eine Variable zum Speichern der Eingabebyte-Zeichenfolge.

  • Kodieren Sie die Eingabebytezeichenfolge mit der Funktion b2a_hex() des Moduls binascii in eine Hexadezimalzahl.

  • Drucken Sie die resultierende Hexadezimalzahl der Eingabebytezeichenfolge.

  • Verwenden Sie die Funktion a2b_hex() des Moduls binascii, um die obige Hexadezimalzahl in eine Bytefolge zu dekodieren.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Das folgende Programm verwendet die Funktionen b2a_hex() und a2b_hex(), um eine Eingabebytezeichenfolge in eine Hexadezimalzahl zu kodieren und sie wieder in eine Bytezeichenfolge zu dekodieren.

# 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))
Nach dem Login kopieren

Ausgabe

Beim Ausführen des obigen Programms wird die folgende Ausgabe generiert -

b'7475746f7269616c73706f696e7420707974686f6e'
b'tutorialspoint python'
Nach dem Login kopieren
Nach dem Login kopieren

Methode 2: Base64-Modul verwenden

Das Modul

base64 verfügt ebenfalls über eine ähnliche Funktionalität. Es kann auch rohe Hexadezimalzahlen kodieren oder dekodieren.

Algorithmus (Schritte)

Unten sind die Algorithmen/Schritte zum Ausführen der erforderlichen Aufgabe aufgeführt. −

  • Verwenden Sie das Schlüsselwort import, um das Modul base64 zu importieren.

  • Erstellen Sie eine Variable zum Speichern der Eingabebyte-Zeichenfolge.

  • Kodieren Sie die Eingabebytezeichenfolge mit der Funktion b16encode() des Moduls base64 in hexadezimale Ziffern (Hexdigits).

  • Drucken Sie die resultierende Hexzahl der Eingabebytezeichenfolge aus.

  • Verwenden Sie die Funktion b16decode() des Moduls base64, um die obige Hexadezimalzahl in eine Bytezeichenfolge zu dekodieren und auszudrucken.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Das folgende Programm kodiert eine Eingabe-Byte-Zeichenfolge in eine Hexadezimalzahl und dekodiert sie mithilfe der Funktionen b16encode() und b16decode() wieder in eine Byte-Zeichenfolge -

# 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))
Nach dem Login kopieren

Ausgabe

Beim Ausführen des obigen Programms wird die folgende Ausgabe generiert -

b'7475746f7269616c73706f696e7420707974686f6e'
b'tutorialspoint python'
Nach dem Login kopieren
Nach dem Login kopieren

Die Konvertierung in und von Hexadezimalzahlen ist mit den beschriebenen Funktionen in den meisten Fällen einfach. Kofferfaltung ist der größte Unterschied zwischen den beiden Methoden. Im Vergleich zu Operationen in binascii können die Funktionen base64.b16decode() und base64.b16encode() nur Großbuchstaben hexadezimale Buchstaben verarbeiten.

Es ist auch wichtig zu bedenken, dass die Ausgabe der Kodierungsfunktion immer eine Bytefolge ist. Möglicherweise müssen Sie zusätzliche Dekodierungsschritte einschließen, um die Ausgabe in Unicode zu erzwingen.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Das folgende Programm verwendet die Dekodierfunktion, um Hexadezimalzahlen in das ASCII-Format zu dekodieren:

# 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'))
Nach dem Login kopieren

Ausgabe

Beim Ausführen des obigen Programms wird die folgende Ausgabe generiert -

b'7475746F7269616C73706F696E7420707974686F6E'
7475746F7269616C73706F696E7420707974686F6E
Nach dem Login kopieren
Die Methoden

b16decode() und a2b_hex() akzeptieren Bytes oder Unicode-Text als Eingabe beim Dekodieren von Hexadezimalzahlen. Diese Zeichenfolgen können jedoch nur hexadezimale Ziffern enthalten, die ASCII-codiert wurden.

Fazit

In diesem Artikel haben wir gelernt, wie man die hexadezimale Darstellung einer Zahl mit Python dekodiert und kodiert. Wir haben auch gelernt, wie man mit der Methode decode() die ASCII-Darstellung einer Hexadezimalzahl dekodiert.

Das obige ist der detaillierte Inhalt vonDekodierung und Kodierung von Hexadezimalzahlen mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage