|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
||||||||||||||||||||||||||||||||||||
Реализовать разбор двоичного формата данных28.05.2023, 19:58. Показов 2020. Ответов 10
Добрый вечер, уважаемые форумчане.
Есть у меня вот такаязадача - написать код на python (должна быть 1 функция main и только она одна (чокнутое требование препода)) в формате PEP8, который решает задачу: Реализовать разбор двоичного формата данных. Данные начинаются с сигнатуры 0x56 0x42 0x49 0x75, за которой следует структура A. Порядок байт: от старшего к младшему. Адреса указаны в виде смещений от начала данных. В решении предлагается использовать модуль struct. Структура A:
Структура B:
Структура C:
Структура D:
(Прошу прощения, не понял как на форуме таблицы работают, а до сих пор не сталкивался) Ниже показаны примеры разбора двоичного формата. Пример 1: Входные данные: (b'VBIu\x00\x02\x00\x00\x00r?\xb8\x05\xb 4\xc7V!@\xca\x08\xd7bG\x16\xe8\xea\x0bq' b'!\xad?\xc6\x85\xea\xfa\xdc?\x18?\xe6\x b6\xd8u \xaa\xdcz\x9f\xa8\x06\xe3n' b'm\x06\x03\xd7\x1aF\xe4\x8d\xbe\x14B_\x e0\xb2$\xff\xd5\xf9\x05\xc9' b'\xbf\xb6\x9f\xff\r\xb1\xf9\xf0?\xe12v\ xce\xa9\xccV\x1b\x845v\xaf\x83\x0f\xa9' b'%\x13C=\xe9\xdd\x08y\xd1A=\x83\x03\xdb \xe9j\x05a\x90\x1768N\x8e\x0e\xda\x05j' b'\xdd\xdf\x00\x1e.%\x89`\x92m\x92\xdbR\ xa5\xce^\x00H') Выходные данные:
Пример 2: Входные данные: (b'VBIu\x00\x02\x00\x00\x00r\xbf\xedE_\x ff\xc8\xfb\x82s\xe0\x87\x80\x84\xf0' b'\x98\xb0\xb6C\xd9c\xbf[_\x8e\xc0\xd1T\x00\xbf\xec\x8b\x07\x0fMW B\xa4#' b'By\xee\x85\xb0\xccC8J0\xb3\xad\x99\xbc \xa6\xd6\xc5\x84nn\x05\x05\x185' b'?\xd0\xae\x98r\xf4A\xd0?\xe8\xfe\xd1\x a3\t\x95\xa8\xbb\xf6b\x93\x0er\x80\xa5' b"a\xed\x9a\x08h>\\\xa7\xcb6\xca'\xee\xb 5\xddP\xb7H\x85i\xf1\x1a\xb6\xd8" b'\xf1;#_\xb1y\x00\x1e\xe6\xfa\xee\x143| le\xaeE\xb2\x9b\x00H') Выходные данные:
Кликните здесь для просмотра всего текста
но в системе, куда загружаю задачу, он выдает ошибку: Подробные сведения об ошибке: Получено: Входные данные: b'VBIu\x00\x02\x00\x00\x00r?\xb8\x05\xb4 \xc7V!@\xca\x08\xd7bG\x16\xe8\xea\x0bq!\ xad?\xc6\x85\xea\xfa\xdc?\x18?\xe6\xb6\x d8u \xaa\xdcz\x9f\xa8\x06\xe3nm\x06\x03\xd7\ x1aF\xe4\x8d\xbe\x14B_\xe0\xb2$\xff\xd5\ xf9\x05\xc9\xbf\xb6\x9f\xff\r\xb1\xf9\xf 0?\xe12v\xce\xa9\xccV\x1b\x845v\xaf\x83\ x0f\xa9%\x13C=\xe9\xdd\x08y\xd1A=\x83\x0 3\xdb\xe9j\x05a\x90\x1768N\x8e\x0e\xda\x 05j\xdd\xdf\x00\x1e.%\x89`\x92m\x92\xdbR \xa5\xce^\x00H' Сообщение об ошибке интерпретатора: Traceback (most recent call last): File "/home/program.py", line 25, in <module> result = main(*args) File "<string>", line 12, in main struct.error: unpack requires a buffer of 6 bytes Если кто вдруг знает как пофиксить ошибку или может порекомендовать другой способ решения или любую информацию по теме, буду очень сильно благодарен ![]()
0
|
||||||||||||||||||||||||||||||||||||
| 28.05.2023, 19:58 | |
|
Ответы с готовыми решениями:
10
Реализовать разбор двоичного формата данных Реализовать разбор двоичного формата данных Реализовать разбор двоичного формата данных |
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 28.05.2023, 21:22 | |
|
1
|
|
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|
| 28.05.2023, 21:29 [ТС] | |
|
А как ее включить?
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
||||||
| 28.05.2023, 21:31 | ||||||
Сколько нужно?
0
|
||||||
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|
| 28.05.2023, 21:34 [ТС] | |
|
Сейчас он распаковывает 6 байт. Первые 4 байта будут интерпретированы как беззнаковое целое (I), представляющее размер.
Следующие 2 байта будут интерпретированы как беззнаковое короткое целое (H), представляющее адрес
0
|
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 28.05.2023, 21:35 | |
|
daniil_novel, вы о чем то о своем. Я задал 2 простых вопроса
0
|
|
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
||
| 28.05.2023, 21:58 [ТС] | ||
|
Я, честно говоря, не очень их понял. В массиве у нас 6 байт. Вроде, столько и нужно
![]() Добавлено через 11 минут Добавлено через 2 минуты Исправил, только вот это не помогает. Все равно вылазит ошибка интерпретатора, которая просит теперь уже или 10 или 16 байт
0
|
||
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 28.05.2023, 22:55 | |
|
Так 10 или 16? В какой строке?
Наверное стоит дать ему, сколько просит? Или есть другие варианты?
0
|
|
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
||||||||
| 28.05.2023, 23:16 [ТС] | ||||||||
|
Добавлено через 4 минуты
0
|
||||||||
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|||
| 29.05.2023, 06:38 | |||
Сообщение было отмечено daniil_novel как решение
РешениеПричем я бы сказал, что дело и не в алгоритме. Давайте по порядку начнем. Структура А. # Читаем размер и адрес массива структур B
0
|
|||
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
||||||
| 29.05.2023, 17:05 [ТС] | ||||||
|
Готово. Пришлось все переделать, но я справился. Вот итоговое решение
Кликните здесь для просмотра всего текста
Дело было не алгоритме, а в некорректных вопросах к нему
0
|
||||||
| 29.05.2023, 17:05 | |
|
Помогаю со студенческими работами здесь
11
Реализовать разбор двоичного формата данных Реализовать на Python разбор двоичного формата данных Задача, реализовать разбор двоичного формата данных, но программа не работает Разбор формата *.id
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|