On Mar 5, 9:50 pm, Philipp Hagemeister <phi...@phihag.de> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > Evan wrote: > >>> inp='\x04\x00' > >>> out = socket.ntohs(struct.unpack('H',inp[:2])[0])) > > Traceback (most recent call last): > > File "<stdin>", line 1, in <module> > > TypeError: argument 1 must be string or read-only buffer, not int > > Your approach is nearly right. First of all, you have to tell > struct.unpack it should unpack from network order ("!"): > > >>> struct.unpack('!H', inp)[0] > > 1024 > > Then you want to repack it in host byte order. Use "=" for that. > > >>> out = struct.pack('=H', struct.unpack('!H', inp)[0]) > >>> out > > '\x00\x04' > > For more information, look for "Size and alignment" > inhttp://docs.python.org/library/struct.html. > > Regards, > > Philipp Hagemeister > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > > iEYEAREKAAYFAkmv2JkACgkQ9eq1gvr7CFymKACghFXMZb9D6pkWZQdapvwTsKJ5 > b0UAn0Uvbcguv/rdxjFKXhMQz22+Notn > =ZiKx > -----END PGP SIGNATURE-----
That's good, thanks Philipp -- http://mail.python.org/mailman/listinfo/python-list