Wie wandle ich in Python eine hexadezimale Zeichenkette in eine rohe interne binäre Zeichenkette um?

8

Wie konvertiert man in Python eine hexadezimale ASCII-Zeichenkette in eine binäre Zeichenkette?

Beispiel:

  

01000001B8000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435362021222324

Muss in eine binäre Zeichenfolge konvertiert werden. ( 0A muss in 1010 konvertiert werden, nicht in ASCII-Bit 1000001 was 65 ist)

edit: Changed "rohe binäre" in Frage "rohe interne binäre" Zeichenfolge für bessere Klarheit.

    
Lunar Mushrooms 09.12.2011, 12:25
quelle

5 Antworten

13
%Vor%     
fulmicoton 09.12.2011, 12:35
quelle
9

Suchen Sie das?

%Vor%

oder

%Vor%     
eumiro 09.12.2011 12:29
quelle
7

Sie benötigen wahrscheinlich die Methode .decode('hex') von Strings (Python 2.x).

%Vor%

Andernfalls können Sie base64.b16decode verwenden, aber Sie könnten dem zweiten Parameter ( casefold ) einen Wert True zuweisen, wenn Ihre Eingabe die Kleinbuchstaben A bis F enthält.

    
tzot 24.12.2011 22:38
quelle
2

Ich bin nicht ganz sicher, was Sie mit einer "binären Zeichenfolge" meinen. Wenn Sie eine Zeichenfolge meinen, die die binären Daten speichert, können Sie das Modul binascii verwenden.

%Vor%

Wenn Sie jedoch wirklich eine Zeichenfolge mit vielen "0" s und "1" s möchten, müssen Sie eine Stufe weiter gehen:

%Vor%     
Dave Webb 09.12.2011 12:52
quelle
1

Eine einfache Möglichkeit, das zu tun, was Sie zu tun versuchen ... konvertieren Sie Ihre Zeichenfolge in eine Hexadezimalzahl und verwenden Sie dann die eingebaute Bin-Funktion, um sie in Binärwerte umzuwandeln.

%Vor%     
Larry E 23.03.2015 20:41
quelle

Tags und Links