Big-endian binary data to/from Python ints?

Nikolas Karalis nikolaskaralis at gmail.com
Thu Dec 27 07:15:50 EST 2007


 How do you connect to the socket to receive the 4 byte packet?
I'm trying to do that, but then the struct.unpack code above is not
working...

Nikolas

On Dec 27, 2007 1:14 PM, William McBrine <wmcbrine at users.sourceforge.net>
wrote:

> On Wed, 26 Dec 2007 16:50:53 -0800, Dennis Lee Bieber wrote:
>
> > your code might (I've not actually checked it) be incorrect if ported
> > to another machine.
>
> Nope. :-)
>
> > If the problem is that you have the four bytes as a character string,
> > use the struct module to interpret it as a binary integer and then feed
> > the results to the above functions, followed by using struct to convert
> > back to a string representation.
> >
> >       Heck, looking at struct, it already has a format modifier for
> > net-oriented... (assuming unsigned 32-bit integer)
> >
> >       pinteger = struct.unpack("!I", netstring[0:4])[0]
> > and
> >       netstring = struct.pack("!I", pinteger)
>
> Thanks, that seems to be what I was looking for.
>
> --
> 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 -- pass it on
> --
> http://mail.python.org/mailman/listinfo/python-list
>



-- 
Nikolas Karalis
Applied Mathematics and Physics Undergraduate
National Technical University of Athens, Greece
http://users.ntua.gr/ge04042
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20071227/9855763d/attachment.html>


More information about the Python-list mailing list