Question about binary file reading

Rhodri James rhodri at wildebst.demon.co.uk
Thu Mar 5 00:19:07 CET 2009


On Wed, 04 Mar 2009 22:58:38 -0000, vibgyorbits <bkajey at gmail.com> wrote:

> I'm writing a tool to do some binary file comparisons.
> I'm opening the file using
>
> fd=open(filename,'rb')
>
> # Need to seek to 0x80 (hex 80th) location
>
> fd.seek(0x80)
>
> # Need to read just 8 bytes and get the result back in hex format.
> x=fd.read(8)
> print x
>
> This prints out garbage. I would like to know what am i missing here.

Your bytes are being interpreted as characters when you print the buffer,  
and the chance of them being meaningful text is probably small.  Try the  
following:

for b in x:
     print hex(ord(b))

Does that look more like what you were expecting?

-- 
Rhodri James *-* Wildebeeste Herder to the Masses



More information about the Python-list mailing list