Как манипулировать байтами в Python - PullRequest
0 голосов
/ 06 октября 2018

TLDR внизу

Я получаю сообщение от сервера, которое приходит в байтах.Часть из них - это закодированный текст, часть - это, например, изображение.Поэтому я не могу декодировать все это вместе.

Структура:

FILE number_of_files (file_name file_size file_data)*

со всем, что между ()* повторяется столько раз, сколько number_of_files

Пока у меня есть это:

content = server_response.split(b" ", 2)

number_of_files = int(content[1].decode())

files = content[2:][0]

Я получаю количество файлов, которые я могу использовать для циклического перебора переменной files типа <class 'bytes'>

Моя основная идеябыло бы поместить что-то вроде этого в цикл:

files = files.split(b" ", 2)
current_file_info = files[0:2]
current_file_size = files[1]
remainder = files[2:][0]

В остальном есть как данные текущего файла, так и все другие данные / данные файла, и они имеют тип <class 'bytes'>

Я не знаю, как манипулировать этим дальше.Мне нужно получить current_file_size bytes из remainder.

TLDR: у меня есть переменная с размером данных и байтовая переменная с данными и некоторыми другими вещами после нее.Мне нужно прочитать число байтов X в переменной байтов, а затем сохранить его в файл

...