![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| turist |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 13.8.2007 Где: Киев Репутация: нет Всего: нет |
(crosspost в python.com.ua)
Привет народ! Помогите инвалиду Google-а, не смог найти ответ на свой вопрос. Итак, есть структура пакета из Сишного .h: struct pktHeader { uint8_t version; uint8_t flag; uint8_t Reserved[2]; uint16_t type; uint16_t length; uint32_t totalLength; }; Я составляю строку формата для struct - "BB2BHHI". Но я так понимаю, что 2B - это не то, что мне нужно для uint8_t Reserved[2] - массива из двух элементов. Но ладно, я добрый, в этот раз могу и принять 2 значения, а потом их склеить. А когда их будет [100]? Что можете посоветовать? Заранее спасибо ;) |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 10 Всего: 173 |
Структуры данных не на пустом месте возникают. Массив из ста элементов — что это? Скорее всего строка. Значит можно использовать форматную строку '100s', которая вернёт все элементы одной строкой. А, скажем, для массива из сотни int, можно полученную строку ('400s') разбить с помощью array. Наконец, даже вытащить из середины кортежа сто элементов ('100b') и сделать с ними всё что угодно — не проблема в Питоне. ''.join(map(chr, tuple[N:N + 100])), к примеру. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| turist |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 13.8.2007 Где: Киев Репутация: нет Всего: нет |
Спасибо за ответ. Это и я собираюсь делать, но я всегда перед тем, чтобы что-то делаю, смотрю, нет ли штатных средств, чтобы велосипед не изобретать. К тому же логичней было бы, чтобы посреди распарсенной структуры были не просто 100 елементов, а какой-нить один tuple, но из ста элементов, чтобы с ним работать проще. Перерыл struct, нету... Эх... Кстати, ща смотрю в сторону ctypes и ctypes.Structure - по-моему, что-от похожее на то, что мне нужно. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |