Преобразовать список байтов в int32 в python3
У меня есть список из нескольких 4x6 байтов (32-битных) значений в байтовом формате. Есть ли возможность преобразовать эти двоичные значения, эффективные в 32-битные целые числа в Python?
Существует метод int.from_bytes(xTest, byteorder='little', Sign = True), но было бы очень неэффективно циклически перебирать все значения. Может быть, у кого-то есть идея?
xTest = [b '\ xf8 \ x80 [\ xf0', b '\ x12 \ x81 \ x87 \ xef', b '- \ x81 \ xc0 \ xee', b'I \ x81 \ xf9 \ xed ']
1 ответ
Решение
Используйте понимание списка, чтобы применить один и тот же оператор к каждому элементу вашего оригинала. xTest
список:
int_list = [int.from_bytes(x, byteorder='little', signed = True) for x in xTest]
Вот x
проходит через каждый элемент (таким образом, ваши 4 байта) xTest
и, таким образом, позволяет применять один и тот же оператор к каждому из них.