how to convert '\xf0' to 0xf0 ?

Steve Holden steve at
Fri Dec 12 05:40:32 CET 2008

chengang.beijing at wrote:
> '\xf0' is the value read from a binary file, I need to change this
> kinds strings to int for further processing...
> if it is in C, then '\xf0' is an integer and it can be handled
> directly, but in python, it is a string.
> and both int('10',16) and int('0x10',16) returns 16.
> Br, Chen Gang
> On Dec 12, 12:06 pm, Tommy Nordgren <tommy.nordg... at> wrote:
>> On Dec 12, 2008, at 4:48 AM, chengang.beij... at wrote:
>>> int('\xf0',16) doesn't work, any way to do that?
>>> --
>>         Should be int('10',16)
>> or int('0x10',16)

It seems that you want the integer value of a character you read in from
a file. Is this correct? Note that '\xf0' is the interpreter's way of
representing a one-character string whose only character has the
hexadecimal value f0, because the actual character is not printable: the
backslash has a special meaning in character string literals.

Any one-character string, however, can be converted to the equivalent
integer value using the ord() function. You can convert the other way
using the chr() function:

>>> ord('A')
>>> chr(65)
>>> ord('\xf0')
>>> chr(240)
>>> hex(240)

So just apply the ord() function to the character and you'll get its
integer value!

Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC    

More information about the Python-list mailing list