Python字符串到字节

时间:2015-05-06 12:43:30

标签: python byte xbee

我必须将字符串传递给xbee:

xbee.tx(dest_addr='\x00\x01', data='hello world')

我只想输入一个字符串或整数,如01,但后来我收到消息: The data provided for 'dest_addr' was not 2 bytes long

我正在使用Python 2.7

如何解决这个问题?感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用struct模块创建一个简单的便捷函数,将整数地址转换为xbee模块所需的二进制字符串格式(从您的示例中显示为big-endian unsigned short):

>>> import struct
>>> def make_address(addr):
...     return struct.pack(">H", addr)
...
>>> make_address(1)
'\x00\x01'