Python 字符串转字节

Python String to Bytes

我必须向 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

如何解决?谢谢

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

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