Я конвертирую кодовую базу из Python 2.7 в Python 3.6. У меня есть этот код:
import struct
unpacked = struct.unpack('<BI6s', '\x02\xff\x01\x00\x00tester', offset=0)
In Python 2.7, unpacked = (2, 511, 'tester')
, что я и хочу.
В Python 3.6, поскольку struct.unpack
ожидает, что второй аргумент будет bytes
, я попытался сделать следующее:
import struct
unpacked = struct.unpack('<BI6s', bytes('\x02\xff\x01\x00\x00tester', 'utf8'), offset=0)
И unpacked = (2, 114627, b'\x00teste')
.
Почему я получаю другой результат и как я получаю тот же результат, что и в 2.7?