Revision 6 as of 2005-12-03 00:10:14

Clear message

Converting a Hex representation to an Integer

I'm running into some trouble when trying to convert a series of hex representations into an integer... I'm sure there is a builtin to do this (wouldn't make sense not to have one) but I can't find it for the life of me.

This is a dump of my interpreter session:

   1 >>> file=open("C:/test.m4a")
   2 >>> contents=file.read()
   3 >>> contents.find('user')
   4 592
   5 >>> contents[592:600]
   6 'user\x00\xcc\x15\xa4'

and I need to convert the values following user ('\x00\xcc\x15\xa4') into an integer value... what am I doing wrong here?

["lwickjr"]: you use

   1 >>> print int('0a', 16)
   2 10
   3 >>>

...but these aren`t hex values. Try ord() on each character, and see if that gives you the results you need.

YerMat:

See module [http://docs.python.org/lib/module-struct.html struct] !

   1 >>> import struct
   2 >>> struct.unpack('I', '\x00\xcc\x15\xa4')
   3 (2752891904L,)
   4 >>> struct.unpack('i', '\x00\xcc\x15\xa4')
   5 (-1542075392,)
   6 >>>

See Also

Unable to edit the page? See the FrontPage for instructions.