Wie konvertiere ich in Python eine Hex-Zeichenkette in eine Int-Zeichenkette?
Ich kann sie als "0xffff
" oder einfach "ffff
" haben.
Ohne das 0x-Präfix müssen Sie die Basis explizit angeben, da es sonst keine Möglichkeit gibt, sie zu erkennen:
x = int("deadbeef", 16)
Mit dem Präfix 0x kann Python automatisch zwischen hex und dezimal unterscheiden.
>>> print int("0xdeadbeef", 0)
3735928559
>>> print int("10", 0)
10
(Sie müssen 0
als Basis angeben, um dieses Verhalten des Präfixes aufzurufen; das Weglassen des zweiten Parameters bedeutet, dass Basis-10 angenommen wird).
int(hexString, 16)
funktioniert sowohl mit als auch ohne das Präfix 0x:
>>> int("a", 16)
10
>>> int("0xa",16)
10
Für jede beliebige Zeichenkette s:
int(s, 16)