Konvertiert von Hex in Binär, ohne den Python der führenden 0 zu verlieren

8

Ich habe einen Hex-Wert in einer Zeichenkette wie

%Vor%

Ich weiß, dass ich dies mit:

in binär konvertieren kann %Vor%

Allerdings verliert dies die führenden Nullen. Gibt es diese Konvertierung überhaupt, ohne die 0 zu verlieren? Oder ist der beste Weg, dies zu tun, nur um die Anzahl der führenden Nullen vor der Umwandlung zu zählen, dann fügen Sie sie danach hinzu.

    
root 15.07.2010, 17:46
quelle

6 Antworten

16

Ich glaube nicht, dass es eine Möglichkeit gibt, diese führenden Nullen standardmäßig beizubehalten.

Jede hexadezimale Zahl wird in 4 Binärziffern übersetzt, so dass die Länge der neuen Zeichenkette genau 4 mal so groß sein sollte wie die des Originals.

%Vor%

Dann können Sie .zfill verwenden, um Nullen in die gewünschte Größe einzugeben:

%Vor%     
Donald Miner 15.07.2010, 17:54
quelle
6

Das ist in Python eigentlich ziemlich einfach, da es keine Begrenzung für die Größe von ganzen Zahlen gibt. Setzen Sie einfach eine '1' auf die hexadezimale Zeichenfolge und entfernen Sie die entsprechende '1' aus der Ausgabe.

%Vor%     
Mark Ransom 17.06.2013 22:19
quelle
2

Grundsätzlich das gleiche aber padding zu 4 Bindigits pro Hexdigit

%Vor%     
Nas Banov 16.07.2010 02:01
quelle
0

Ein Neuling für Python wie ich würde so fortfahren

%Vor%

Auffüllen, um gegebenenfalls vorangehende Nullen aufzunehmen, wenn Python die Zeichenfolge in Hex konvertiert.

%Vor%

Konvertiert den aufgefüllten Wert in binär.

%Vor%

Entferne 2bits ('0b'), die Python hinzufügt, um binär + 16 aufgefüllte Bits zu bezeichnen.

%Vor%     
AdKash 12.04.2013 00:44
quelle
0

Dies konvertiert eine hexadezimale Zeichenfolge in eine binäre Zeichenfolge. Da Sie möchten, dass die Länge vom Original abhängt, könnte dies das sein, was Sie wollen.

%Vor%     
Robert Jacobs 17.06.2013 19:05
quelle
0
%Vor%     
Haresh Shyara 12.02.2015 10:26
quelle

Tags und Links