¿Cómo puedo convertir una cadena hexadecimal en un int en Python?
Puede que lo tenga como "0xffff
" o simplemente "ffff
".
Sin el prefijo 0x, es necesario especificar la base explícitamente, de lo contrario no hay forma de saberlo:
x = int("deadbeef", 16)
Con el prefijo 0x, Python puede distinguir el hexadecimal y el decimal automáticamente.
>>> print int("0xdeadbeef", 0)
3735928559
>>> print int("10", 0)
10
(Es necesario especificar 0
como base para invocar este comportamiento de adivinación de prefijos; omitir el segundo parámetro significa asumir base-10).