Превратить массив байтов переменного размера в целое число/долгое число
Как конвертировать бинарный массив байтов переменного размера в (беззнаковое) целое число (integer/long) в порядке big endian? Например, массив байтов '\x11\x34'
представляет собой число 4404.
В данный момент я использую следующий код:
def bytes_to_int(bytes):
return int(bytes.encode('hex'), 16)
Этот способ небольшой и достаточно читаемый, но, вероятно, не самый эффективный. Есть ли более очевидный и лучший способ решения этой задачи?
Как вывести полный массив NumPy без обрезки?
Как получить доступ к i-му столбцу многомерного массива NumPy?
Преобразование DataFrame Pandas в массив NumPy
Оператор "is" ведет себя неожиданно с целыми числами
"Выполнение отображения (mapping) массива NumPy на месте"