String to hexadecimal conversion
Hi folks, I am new to Python... so am not too sure about how the type conversion works. I have to read a file that contains hexadecimal data and use the data further to do some arithmetic calculations. A sample of the input is : 20E032F8400022005E The problem I am facing is this: I am using f.read(2) to read a byte at a time, but the data that is read is a string rather than a number. So it kind of hampers any arithmetic operations I perform on this data... Could you please suggest some method I could use for this? Thanks guys! Praveena -- http://mail.python.org/mailman/listinfo/python-list
Re: String to hexadecimal conversion
On Sep 8, 2:31 pm, John Machin <[EMAIL PROTECTED]> wrote: > On Sep 8, 7:05 pm, Praveena P <[EMAIL PROTECTED]> wrote: > > > Hi folks, > > > I am new to Python... so am not too sure about how the type conversion > > works. > > > I have to read a file that contains hexadecimal data and use the data > > further to do some arithmetic calculations. > > A sample of the input is : 20E032F8400022005E > > The problem I am facing is this: > > I am using f.read(2) to read a byte at a time, but the data that is > > read is a string rather than a number. So it kind of hampers any > > arithmetic operations I perform on this data... > > > Could you please suggest some method I could use for this? > > *IF* all the data consists of unsigned 8-bit integers > a_byte = f.read(2) > uint8 = int(a_byte, 16) > > But I doubt it and that would be rather slow anyway. If your data is > homogenous, look at the array module. Otherwise, once you've worked > out how to break your file down into records, and what the layout of > each record is, you'll need the struct module. > > HTH, > John Hey John, Thanks! That was useful... I am still putting the code together with all the operations... will probably have loads more queries... :-) Have a good day! Praveena -- http://mail.python.org/mailman/listinfo/python-list
Re: String to hexadecimal conversion
On Sep 8, 2:05 pm, Praveena P <[EMAIL PROTECTED]> wrote: > Hi folks, > > I am new to Python... so am not too sure about how the type conversion > works. > > I have to read a file that contains hexadecimal data and use the data > further to do some arithmetic calculations. > A sample of the input is : 20E032F8400022005E > The problem I am facing is this: > I am using f.read(2) to read a byte at a time, but the data that is > read is a string rather than a number. So it kind of hampers any > arithmetic operations I perform on this data... > > Could you please suggest some method I could use for this? > > Thanks guys! > Praveena I was thinking of using dictionary like this: hex_to_decimal = {"1":"1", "2":"2", "3":"3", "4":"4", "5":"5", "6":"6", "7":"7", "8":"8", "9":"9", "A":"10", "B":"11", "C":"12", "D":"13", "E":"14", "F":"15", "0":"0"} Extracting one character at a time and converting to decimal, and then using the decimal numbers generated for the further calculations Would there be a simpler way to do it? -- http://mail.python.org/mailman/listinfo/python-list