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