Konvertieren Sie Hex in Python in Base64

Muhammad Maisam Abbas 21 Juni 2023
  1. Konvertieren Sie HEX in BASE64 mit dem codecs-Modul in Python
  2. Konvertieren Sie HEX in BASE64 mit dem Modul base64 in Python
  3. Konvertieren Sie HEX in BASE64 mit dem Modul binascii in Python
  4. Konvertieren Sie HEX in Python2 in BASE64
Konvertieren Sie Hex in Python in Base64

In diesem Tutorial werden die Methoden zum Konvertieren von Hex in Base64 in Python erläutert.

Konvertieren Sie HEX in BASE64 mit dem codecs-Modul in Python

Das codecs-Modul in Python stellt die Methoden encode() und decode() bereit, um zwischen verschiedenen Textcodierungsformaten zu konvertieren.

Die Funktion encode() benötigt zwei Parameter; eine Eingabezeichenfolge und das Format, in dem diese Zeichenfolge codiert werden muss. Der Rückgabetyp dieser encode()-Funktion ist eine Zeichenfolge, die in dem im zweiten Parameter angegebenen Format codiert ist.

Die Funktion decode() benötigt ebenfalls nur zwei Parameter; eine codierte Eingabezeichenfolge und das Format, in dem die Eingabezeichenfolge codiert ist. Die Funktion decode() gibt einen decodierten String entsprechend dem im zweiten Parameter angegebenen Format zurück.

Um einen Hex-String in einen Base64-String zu codieren, decodieren wir diesen Hex-String zuerst mit der Funktion decode() in einen regulären String, indem wir hex als zweiten Parameter angeben. Wir codieren dann die Ausgabe der vorherigen Operation mit der Funktion encode(), indem wir base64 als zweiten Parameter angeben.

Das folgende Code-Snippet erläutert die Schritte, die erforderlich sind, um einen Hex-String in einen Base64-String mit dem codecs-Modul in Python zu kodieren.

import codecs

hex_string = "10000000000002ae"
b64_string = codecs.encode(codecs.decode(hex_string, "hex"), "base64").decode()
print(b64_string)

Ausgang:

EAAAAAAAAq4=

Im obigen Code kodieren wir den Hex-String 10000000000002ae mit dem Modul codecs in den base64-String EAAAAAAAAq4=.

Konvertieren Sie HEX in BASE64 mit dem Modul base64 in Python

Ein weiteres nützliches Modul in Python zum Konvertieren zwischen verschiedenen Textkodierungsformaten ist base64. Das Modul base64 stellt für diese Aufgabe die Funktionen b64encode() und b64decode() zur Verfügung.

Die Funktion b64encode() nimmt den Byte-String als Eingabeparameter, wandelt ihn in das base64-Format um und gibt den base64-kodierten String zurück. In ähnlicher Weise nimmt die Funktion b64decode() den base64-codierten String, wandelt ihn in einen Byte-String um und gibt den decodierten Byte-String zurück.

Für dieses spezielle Problem müssen wir zuerst unseren Eingabe-String mit der Funktion bytes.fromhex() in einen Byte-String umwandeln. Wir codieren diesen Byte-String dann mit der Funktion b64encode() in einen base64-String.

Das folgende Code-Snippet zeigt, wie wir mit dem base64-Modul in Python einen Hex-String in einen base64-String kodieren können.

from base64 import b64encode, b64decode

hex_string = "10000000000002ae"
b64_string = b64encode(bytes.fromhex(hex_string)).decode()
print(b64_string)

Ausgang:

EAAAAAAAAq4=

Im obigen Code kodieren wir den Hex-String 10000000000002ae mit dem Modul base64 in den base64-String EAAAAAAAAq4=.

Konvertieren Sie HEX in BASE64 mit dem Modul binascii in Python

Wir können auch das binascii-Modul von Python verwenden, um zwischen verschiedenen Textcodierungsformaten zu konvertieren. Das binascii-Modul stellt Funktionen wie unhexlify() und b2a_base64() bereit, die in diesem Szenario verwendet werden können.

Die Funktion unhexlify() nimmt den Hex-String als Eingabeparameter, wandelt ihn in einen Byte-String um und gibt die Ergebnisse zurück. Die Funktion b2a_base64() nimmt einen Byte-String als Eingabeparameter, wandelt ihn in einen base64-String um und gibt die Ergebnisse zurück.

In unserem speziellen Problem müssen wir zuerst den Hex-String mit der Funktion unhexlify() in einen Byte-String umwandeln und dann mit der Funktion b2a_base64() das Ergebnis der vorherigen Operation in einen Base64-String umwandeln.

Das folgende Codebeispiel zeigt, wie wir mit dem Modul binascii einen Hex-String in Python in base64 umwandeln können.

from binascii import unhexlify, b2a_base64

hex_string = "10000000000002ae"
b64_string = b2a_base64(unhexlify(hex_string))
print(b64_string)

Ausgang:

EAAAAAAAAq4=

Im obigen Code kodieren wir den Hex-String 10000000000002ae mit dem Modul binascii in den base64-String EAAAAAAAAq4=. Von allen oben besprochenen Methoden ist die binascii-Methode die einfachste, und wir müssen am wenigsten Code schreiben, um sie zu implementieren.

Konvertieren Sie HEX in Python2 in BASE64

Wenn wir andererseits mit Python2 arbeiten, das nativ sowohl Hex- als auch Base64-Strings unterstützt, können wir die erforderliche Codemenge drastisch reduzieren. Das folgende Code-Snippet zeigt, wie wir in Python2 einen Hex-String in einen Base64-String umwandeln können.

hex_string = "10000000000002ae"
b64_string = hex_string.decode("hex").encode("base64")
print(b64_string)

Ausgang:

EAAAAAAAAq4=

Wir mussten keine Module in den obigen Code importieren, da Python2 nativ Hex- und Base64-Strings unterstützt. Wir haben zuerst den Hex-String mit der Funktion decode("hex") in einen Byte-String umgewandelt und dann seine Ausgabe mit der Funktion encode("base64") nach base64 codiert.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Python Hex