Konverter hex-streng til int i Python

Hvordan konverterer jeg en hex-streng til en int i Python?

Jeg kan ha det som "0xffff" eller bare "ffff".

Løsning

Uten prefikset 0x må du spesifisere basen eksplisitt, ellers er det ingen måte å si det på:

x = int("deadbeef", 16)

Med 0x-prefikset kan Python skille mellom hex og desimal automatisk.

>>> print int("0xdeadbeef", 0)
3735928559
>>> print int("10", 0)
10

(Du spesifisere 0 som base for å påkalle denne prefiks-gjetende oppførselen; å utelate den andre parameteren betyr å anta base-10).

Kommentarer (3)

int(hexString, 16) gjør susen, og fungerer både med og uten 0x-prefikset:

>>> int("a", 16)
10
>>> int("0xa",16)
10
Kommentarer (0)

For en gitt streng s:

int(s, 16)
Kommentarer (0)