[Tutor] how to see a number as two bytes
Alan Gauld
alan.gauld at btinternet.com
Tue Oct 21 01:06:40 CEST 2008
"shawn bright" <nephish at gmail.com> wrote
> i have a script that needs to send a number as two bytes.
> how would i be able to see a number expressed as a hi byte and a lo
> byte?
One way is to use the struct module.
It has the advantage of allowing selection of big endian(>) or little
endian(<) representation etc. The H symbol can be used for a short
integer - ie 2 bytes...
eg
>>> import struct
>>> b = struct.pack(">H", 279)
>>> b
'\x01\x17'
>>> b = struct.pack("<H", 279)
>>> b
'\x17\x01'
>>>
Note that Python will print bytes with printable representations as
the character form but the data is still two bytes.
eg
>>> struct.pack("H", 33)
'!\x00'
>>> chr(33)
'!'
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld
More information about the Tutor
mailing list