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

Dekodierung und Kodierung von Hexadezimalzahlen mit Python

PHPz
PHPznach vorne
2023-08-19 14:09:222564Durchsuche

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))

Ausgabe

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

b'7475746f7269616c73706f696e7420707974686f6e'
b'tutorialspoint python'

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))

Ausgabe

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

b'7475746f7269616c73706f696e7420707974686f6e'
b'tutorialspoint python'

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'))

Ausgabe

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

b'7475746F7269616C73706F696E7420707974686F6E'
7475746F7269616C73706F696E7420707974686F6E
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen