2015-05-05 29 views
0

我正在使用Python 3,通過mqtt接收bytearray。前4個字節是unix時間戳的整數。其餘數據是我將要轉換爲基本64字符串的字節。我如何區分整數和數據?Python 3結構解壓int和bytearray

回答

0

你可以只切片陣列:

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:]) 
+0

,如果我做messagebyte = bytearray(msg.payload) messagebyte是ba_object? – user903772

+0

@ user903772:是的,'ba_object'代表這裏的* byte數組對象*使用任何你的名字。 –

+0

我不需要使用結構? – user903772