Я хочу преобразовать тип bytearray или список двоичных строк в python в подписанный короткий список.Фактически, я получаю поток байтов из Ethernet и хочу преобразовать их в подписанный short ;однако единственный способ, который я нашел в Python, - это использование struct.unpack
, которое кажется медленным, поскольку для определения типа каждого байта требуется строка формата.
Это требование к формату замедляется в два этапа:
1) Требуется создать длинную строку для длинного массива байтов
2) Требуется для поиска один за другим в массиве.
В C ++ следующий простой кодвыполняет работу со всем блоком памяти, содержащимся в InBuf:
OutBuf = short int[len]
InBuf = char[len*2]
memcpy(&OutBuf, &InBuf, len*2)
При этом пропускается поиск формата в байтовом массиве, а также построение строки формата.Кто-нибудь знает лучший способ сделать это в Python ?