# How do I convert hex to decimal in Python? [duplicate]

Each Answer to this Q is separated by one/two green lines.

I have some Perl code where the hex() function converts hex data to decimal. How can I do it on Python?

If by “hex data” you mean a string of the form

``````s = "6a48f82d8e828ce82b82"
``````

you can use

``````i = int(s, 16)
``````

to convert it to an integer and

``````str(i)
``````

to convert it to a decimal string.

``````>>> int("0xff", 16)
255
``````

or

``````>>> int("FFFF", 16)
65535
``````

You could use a literal eval:

``````>>> ast.literal_eval('0xdeadbeef')
3735928559
``````

Or just specify the base as argument to `int`:

``````>>> int('deadbeef', 16)
3735928559
``````

A trick that is not well known, if you specify the base `0` to `int`, then Python will attempt to determine the base from the string prefix:

``````>>> int("0xff", 0)
255
>>> int("0o644", 0)
420
>>> int("0b100", 0)
4
>>> int("100", 0)
100
``````

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .