Hoe converteer ik hex naar decimaal in Python?

Ik heb een Perl-code waarbij de functie hex() hex-gegevens omzet in decimaal. Hoe kan ik dit doen op Python?


Antwoord 1, autoriteit 100%

Als je met “hex data” een tekenreeks van het formulier bedoelt

s = "6a48f82d8e828ce82b82"

u kunt gebruiken

i = int(s, 16)

om het te converteren naar een geheel getal en

str(i)

om het te converteren naar een decimale tekenreeks.


Antwoord 2, autoriteit 17%

>>> int("0xff", 16)
255

of

>>> int("FFFF", 16)
65535

Lees de documenten.


Antwoord 3, autoriteit 6%

Je zou een letterlijke evaluatie kunnen gebruiken:

>>> ast.literal_eval('0xdeadbeef')
3735928559

Of geef gewoon de basis op als argument voor int:

>>> int('deadbeef', 16)
3735928559

Een truc die niet goed bekend is, als je de basis 0opgeeft tot int, dan zal Python proberen de basis te bepalen uit de string prefix:

>>> int("0xff", 0)
255
>>> int("0o644", 0)
420
>>> int("0b100", 0)
4
>>> int("100", 0)
100

Other episodes