how to convert '\xf0' to 0xf0 ?

chengang.beijing at gmail.com chengang.beijing at gmail.com
Fri Dec 12 00:28:06 EST 2008


Hi,

ord('\xf0') works and it only works for char. Do you know any way to
convet
'\xf0\xf0' and '\xf0\xf0\xff\xfe' to integer?


Br, Chen Gang

On Dec 12, 12:40 pm, Steve Holden <st... at holdenweb.com> wrote:
> chengang.beij... at gmail.com 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 comhem.se> wrote:
> >> On Dec 12, 2008, at 4:48 AM, chengang.beij... at gmail.com wrote:
>
> >>> int('\xf0',16) doesn't work, any way to do that?
> >>> --
> >>>http://mail.python.org/mailman/listinfo/python-list
> >>         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')
> 65
> >>> chr(65)
> 'A'
> >>> ord('\xf0')
> 240
> >>> chr(240)
> '\xf0'
> >>> hex(240)
> '0xf0'
>
> So just apply the ord() function to the character and you'll get its
> integer value!
>
> regards
>  Steve
> --
> Steve Holden        +1 571 484 6266   +1 800 494 3119
> Holden Web LLC              http://www.holdenweb.com/




More information about the Python-list mailing list