0
我正在使用Python 3,通過mqtt接收bytearray。前4個字節是unix時間戳的整數。其餘數據是我將要轉換爲基本64字符串的字節。我如何區分整數和數據?Python 3結構解壓int和bytearray
我正在使用Python 3,通過mqtt接收bytearray。前4個字節是unix時間戳的整數。其餘數據是我將要轉換爲基本64字符串的字節。我如何區分整數和數據?Python 3結構解壓int和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:])
,如果我做messagebyte = bytearray(msg.payload) messagebyte是ba_object? – user903772
@ user903772:是的,'ba_object'代表這裏的* byte數組對象*使用任何你的名字。 –
我不需要使用結構? – user903772