Search code examples
pythonstringhex

Convert hex string to integer in Python


How do I convert a hex string to an integer?

"0xffff"   ⟶   65535
"ffff"     ⟶   65535

Solution

  • Without the 0x prefix, you need to specify the base explicitly, otherwise there's no way to tell:

    x = int("deadbeef", 16)
    

    With the 0x prefix, Python can distinguish hex and decimal automatically:

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

    (You must specify 0 as the base in order to invoke this prefix-guessing behavior; if you omit the second parameter, int() will assume base-10.)