Байт pad в структуре python - PullRequest
1 голос
/ 27 октября 2019

Что такое pad byte (x) в типе python struct? Это беззнаковый символ со значением 0 или как он выглядит / почему он является одним из types, доступных в объекте struct?

Например, что будетразница между выполнением одного из следующих действий:

>>> struct.pack('BB', 0, ord('a'))
b'\x00a'
>>> struct.pack('xB', ord('a'))
b'\x00a'

1 Ответ

1 голос
/ 27 октября 2019

Это полезно для соответствия требуемой длины другой системы.

Например. В моей работе есть сервер, который отправляет заголовок фиксированного размера и ожидает сообщения фиксированного размера. Это гарантирует, что, скажем, первые 20 байтов являются заголовком, а байты 0-8 - размером сообщения.

На самом деле не имеет значения , какой тип пэда. Это в основном ненужные данные. unsigned char 0 - хороший выбор и тот, который использует struct.pack.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...