Umwandlung von Hex in Base64 in Python

7

Ich möchte eine einfache HEX-Zeichenfolge wie 10000000000002ae in Base 64 konvertieren.

Die hexadezimale Zeichenfolge wird in Bytes konvertiert, und die Bytes werden dann in die base64-Notation codiert, also die erwartete Ausgabe für diese Zeichenfolge: EAAAAAAAAAA4 =

Ich habe ein Tool online gefunden. Ссылка

Aber ich habe eine Menge HEX-Werte, die ich in einem Skript konvertieren muss.

    
React Native Noob 14.11.2015, 01:55
quelle

3 Antworten

9

Python bietet native Unterstützung sowohl für die HEX- als auch für die base64-Codierung:

%Vor%     
ppperry 14.11.2015, 02:00
quelle
7

Das Werkzeug, mit dem Sie verlinken, interpretiert den Hexadezimalwert einfach als Bytes und codiert diese Bytes dann in Base64.

Verwenden Sie die Funktion binascii.unhexlify() , um von einer hexadezimalen Zeichenfolge in Bytes zu konvertieren. Verwenden Sie dann die Funktion binascii.b2a_base64() , um diese in Base64:

zu konvertieren %Vor%

In Python 2 können Sie auch die Methoden str.decode() und str.encode() verwenden, um dasselbe zu erreichen:

%Vor%

In Python 3 müssten Sie hierfür die Funktion codecs.encode() verwenden.

Demo auf Python 2.7:

%Vor%     
Martijn Pieters 14.11.2015 02:00
quelle
5

In Python 3 wurden beliebige Codierungen einschließlich Hex und Base64 in codecs module verschoben. Um ein Base64 str von einem Hex str zu erhalten:

%Vor%     
Eana Hufwe 14.02.2017 15:48
quelle

Tags und Links