Чтение строки байт (b'') в python
Друзья, хочу средствами python получать и декодировать данные из UDP потока.
Получать данные в строку байт не проблема, проблема в том, что я не понимаю, как ее раскодировать. Данные со смещением, то есть n-ое смещение байт имеет свою кодировку.
Я не понимаю, как мне правильно разделить байтовую строку (например по размеру) и декодировать это кусками.
Пример строки:
b'F\x00jKT4\xb4'\x00\x00\x00\x00\xb9\\xf1\xfb\xa5\x18\xa3\x16_\x01\xe8\x03\x93*\x06\x00\xbc@i"\x00\x00\x00\x00\xc8\x00\x00\x00\x80,\x05\xd0\x00\x00\x00\x00\xec\xd9\xef\xfb\xa5\x18\xa3\x16\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Ответы (1 шт):
Бгодаря @Roman Konoval в целом разобрался как правильно читать и переводить данные из потока.
Взяв за переменную 'a' строку из изначального сообщения, можно, например получить:
len(list(a)) #общая длинна списка байт
list(a) #список байт
binascii.hexlify(bytes(a[12:20]) #HEX строка байт в конкретном смещении.
Далее из последнего можно преобразовать данные в читаемый вид. Это все, что требовалось в данном случае.