Convert hex string to int in Python

Matt picture Matt · Oct 16, 2008 · Viewed 977.9k times · Source

How do I convert a hex string to an int in Python?

I may have it as "0xffff" or just "ffff".

Answer

Dan Lenski picture Dan Lenski · Oct 16, 2008

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; omitting the second parameter means to assume base-10.)