Come si converte una stringa esagonale in un int in Python?
Potrei averla come "0xffff
" o semplicemente "ffff
".
**Senza il prefisso 0x, è necessario specificare esplicitamente la base, altrimenti non c'è modo di dirlo:
x = int("deadbeef", 16)
Con il prefisso 0x, Python può distinguere esadecimale e decimale automaticamente.
>>> print int("0xdeadbeef", 0)
3735928559
>>> print int("10", 0)
10
(È necessario specificare 0
come base per invocare questo comportamento di interpretazione del prefisso; omettere il secondo parametro significa assumere base-10).