Raw binary string --> long integer?

Fredrik Lundh fredrik at pythonware.com
Wed Apr 21 04:26:07 EDT 1999


<ngps at my-dejanews.com> wrote:
> I'm looking for a way to do the following in pure Python.
> 
> Given a binary string, e.g., '\003\004\005', convert the string into a long.
> So the example should become (3<<8|4)<<8|5 == 110000010000000101 == 197,637.
> 
> The binary strings can be arbitrarily long. (Ok, up to about 256 bytes for an
> RSA public key. ;-)

here's one way to do it:

v = 0L
for i in map(ord, "\003\004\005"):
    v = v<<8 | i
print v

for short integers, use the struct module instead.

</F>





More information about the Python-list mailing list