Jiang Nutao wrote: > array.byteswap() won't work for me easily. I tried this before my 1st post. > I defined > > aa = array('H', [0x12, 0x34, 0x56, 0x78]) > > Then did byteswap aa.byteswap(). The result was > > array('H', [0x1200, 0x3400, 0x5600, 0x7800]) > > You can see it byteswapped within each item.
you need to do things in the right order; first convert to bytes, then build a 16-bit array, and then byteswap that array. from array import array # convert data array to 8-bit byte buffer buf = array("B", [0x12, 0x34, 0x56, 0x78]).tostring() # treat byte buffer as list of 16-bit integers buf = array("H", buf) buf.byteswap() buf = buf.tostring() # convert back to bytes [hex(ord(c)) for c in buf] -> ['0x34', '0x12', '0x78', '0x56'] </F> -- http://mail.python.org/mailman/listinfo/python-list