How to Read Bytes from a file

gregpinero at gmail.com gregpinero at gmail.com
Thu Mar 1 13:36:12 EST 2007


On Mar 1, 12:46 pm, "Bart Ogryczak" <B.Ogryc... at gmail.com> wrote:
> > This solution looks nice, but how does it work?  I'm guessing
> > struct.unpack will provide me with 8 bit bytes
>
> unpack with 'B' format gives you int value equivalent to unsigned char
> (1 byte).
>
> > (will this work on any system?)
>
> Any system with 8-bit bytes, which would mean any system made after
> 1965. I'm not aware of any Python implementation for UNIVAC, so I
> wouldn't worry ;-)
>
> > How does count1 work exactly?
>
> 1,2,4,8,16,32,64,128 in binary are
> 1,10,100,1000,10000,100000,1000000,10000000
> x&1 == 1 if x has first bit set to 1
> x&2 == 2, so (x&2>0) == True if x has second bit set to 1
> ... and so on.
> In the context of int, True is interpreted as 1, False as 0.

Thanks Bart.  That's perfect.  The other suggestion was to precompute
count1 for all possible bytes, I guess that's 0-256, right?

Thanks again everyone for the help.

-Greg




More information about the Python-list mailing list