Я пытаюсь распаковать python struct в Python 3.8 и получаю ошибку
TypeError: требуется объект, похожий на байты, а не 'int'
. Тот же код прекрасно работает в Python 2.7
import struct
hexval= b'J\xe6\xe7\xa8\x002\x10k\x05\xd4\x7fA\x00\x04\n\x90\x1a\n'
aaT = struct.unpack('>H',hexval[4:6])
aa = aaT[0]
print("aa",aa)
bbT = struct.unpack(">B",hexval[12])
bb = bbT[0]&0x3 # just lower 2 bits
print("bb",bb)
Вывод:
aa 50
Traceback (последний вызов был последним): File "./sample.py", строка 9, в bbT = struct.unpack ("> B", hexval [12]) TypeError: требуется объект, похожий на байты, а не 'int'
Когда я преобразован в байт
Я получаю ошибку, подобную этой.
Traceback (последний вызов был последним): файл "sample.py", строка 9, в bbT = struct.unpack (" > B ", байты (hexval [12])) struct.error: для распаковки требуется буфер в 1 байт
Как мне распаковать эти двоичные данные