Konvertieren Sie Hex in Python in Base64
-
Konvertieren Sie HEX in BASE64 mit dem
codecs
-Modul in Python -
Konvertieren Sie HEX in BASE64 mit dem Modul
base64
in Python -
Konvertieren Sie HEX in BASE64 mit dem Modul
binascii
in Python - Konvertieren Sie HEX in Python2 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.
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