【发布时间】:2015-05-05 14:02:41
【问题描述】:
我正在使用 Python 3,通过 mqtt 接收字节数组。第一个 4 字节是整数,即 unix 时间戳。其余数据是我要转换为 base 64 字符串的字节。如何分离整数和数据?
【问题讨论】:
标签: python python-3.x struct bytearray
我正在使用 Python 3,通过 mqtt 接收字节数组。第一个 4 字节是整数,即 unix 时间戳。其余数据是我要转换为 base 64 字符串的字节。如何分离整数和数据?
【问题讨论】:
标签: python python-3.x struct bytearray
你可以对数组进行切片:
timestamp, base64_data = ba_object[:4], ba_object[4:]
时间戳可以用int.from_bytes() class method提取,base64编码的数据可以用base64.b64decode()处理:
import base64
timestamp = int.from_bytes(ba_object[:4], byteorder='big')
data = base64.b64decode(ba_object[4:])
【讨论】:
ba_object 在这里代表字节数组对象;使用任何名称。