Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.04.2023
Сообщений: 8

Реализовать на Python разбор двоичного формата данных

05.05.2023, 21:02. Показов 871. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реализовать разбор двоичного формата данных. Данные начинаются с сигнатуры 0xd 0x4c 0x58 0x4a, за которой следует структура A. Порядок байт: от младшего к старшему. Адреса указаны в виде смещений от начала данных. В решении предлагается использовать модуль struct.

Структура A:

Поле Описание
1 int32
2 int8
3 int64
4 Структура B
5 Массив int8, размер 7

Структура B:

Поле Описание
1 Структура C
2 uint64
3 uint32
4 int64
5 int32

Структура C:

Поле Описание
1 double
2 Размер (uint16) и адрес (uint16) массива структур D

Структура D:

Поле Описание
1 int8
2 int8
3 int8
4 Массив int64, размер 2
5 int8
6 Массив uint8, размер 5
7 uint32

Ниже показаны примеры разбора двоичного формата.

Пример 1

Двоичные данные:

(b'\rLXJ\xc6\xa8\x9c\xf9\xc6&\xec\xe7U\x b0}\xdaJ\xfe?kh\x9f\x9b\xef?\x03\x00<'
b'\x00#\x1a\xa5\x18`r8/\xf5\x15\xa1"\xc2\xa9\xe0\x0b\xecT`\xac8 \xf6\x89'
b'\xee\x85A.K;\xab\x9c\x15\xbfT\xe3\xb5_ \xba\xffyn\xeb\xf8\xdbRE\x9d'
b'\xadm\xd9\xd5\xf1oO\xb17\xca\xa8H\x19 \xf5\xf3\x88*\xfbO\x14|P\xe3Md\xc3\xbe'
b'\x18SN\xc7<\x9e~\xb6]%\x11o\xe8hE S\x1c5\x08?"\xe2\xa1\x8ab\xac\xce'
b'\xbf3\xf6*\x83\x1dU\xc2\x84Q\xfb\t,r\x 9f')

Результат разбора:

{'A1': -107173690,
'A2': -58,
'A3': 5393761700038568998,
'A4': {'B1': {'C1': 0.987746910041096,
'C2': [{'D1': 21,
'D2': -65,
'D3': 84,
'D4': [-1482113088107858461, -2779374504033199112],
'D5': -43,
'D6': [241, 111, 79, 177, 55],
'D7': 424192202},
{'D1': 32,
'D2': -11,
'D3': -13,
'D4': [-2067015802280007032, -4085236446233664435],
'D5': 60,
'D6': [158, 126, 182, 93, 37],
'D7': 1760063249},
{'D1': 69,
'D2': 32,
'D3': 83,
'D4': [-8457229988510812900, -8995106603597386654],
'D5': 29,
'D6': [85, 194, 132, 81, 251],
'D7': 2675059721}]},
'B2': 3402595275534309923,
'B3': 580982261,
'B4': -6025722928633435710,
'B5': -292948424},
'A5': [-123, 65, 46, 75, 59, -85, -100]}

Пример 2

Двоичные данные:

(b'\rLXJ\xf9\xae_\xcc>\xf8\x8e,\xado;\xb c\xe1tP\x13U\x80\xa7\xe8\xbf\x02\x00<'
b'\x00\x7f\xb5\t\xed\xbda\xd6\xcfiP\x81\ x1b\xbcj\xdcG.K@\xaf\xa5}!'
b'\\\xe3\x1b\xac\x0b*\xc6\x84\xea\xb0)\x 17\xff\x1c\x11M\xc6xL\xa7\x8b\x1f_n'
b'\x18\xcd\x1cj\x0f\xa6\r\xab*$\x05\x1d\ x12\xdc\xce\xdc\xfa\x1a\xf1\x03'
b'\xb0K\n\x06\xed\xca\xa2b7\xbd$e\xd3\xb 2\xd2_\x8d\x04_V\xb0\xf0')

Результат разбора:

{'A1': -866144519,
'A2': 62,
'A3': -2180802768721375496,
'A4': {'B1': {'C1': -0.7704469358091175,
'C2': [{'D1': -22,
'D2': -80,
'D3': 41,
'D4': [5510372178389696279, 2075341865609038759],
'D5': 106,
'D6': [15, 166, 13, 171, 42],
'D7': 303891748},
{'D1': -36,
'D2': -50,
'D3': -36,
'D4': [435243533347134202, 7288158142567992045],
'D5': -45,
'D6': [178, 210, 95, 141, 4],
'D7': 4038088287}]},
'B2': 14976265079220712831,
'B3': 461459561,
'B4': -5818568056416474436,
'B5': 1545698725},
'A5': [-29, 27, -84, 11, 42, -58, -124]}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.05.2023, 21:02
Ответы с готовыми решениями:

Реализовать разбор двоичного формата данных
Добрый вечер, уважаемые форумчане. Есть у меня вот такаязадача - написать код на python (должна быть 1 функция main и только она одна...

Реализовать разбор двоичного формата данных
Дано задание: Реализовать разбор двоичного формата данных. Данные начинаются с сигнатуры 0x44 0x52 0x58 0x42, за которой следует...

Реализовать разбор двоичного формата данных
Данные начинаются с сигнатуры 0x31 0x56 0x4f 0x5a, за которой следует структура A. Порядок байт: от младшего к старшему. Адреса указаны в...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.05.2023, 21:02
Помогаю со студенческими работами здесь

Реализовать разбор двоичного формата данных
Всем привет. Прошу помочь реализовать разбор двоичного формата данных. Данные начинаются с сигнатуры 0x4d 0x51 0x51, за которой следует...

Реализовать разбор двоичного формата данных
Реализовать разбор двоичного формата данных. Данные начинаются с сигнатуры 0x4b 0x49 0x50 0x5d, за которой следует структура A. Порядок...

Задача, реализовать разбор двоичного формата данных, но программа не работает
Данные начинаются с сигнатуры 0x31 0x56 0x4f 0x5a, за которой следует структура A. Порядок байт: от младшего к старшему. Адреса указаны в...

Разбор формата *.id
Кто-нибудь сталкивался с задачей расковырять *.ID Файл и вытащить от туда имя пользователя? Открыт ли формат ?

Разбор программы.Перевод двоичного числа в десятичн
char bin // изображение двоичного числа, почему именно так и что такое bin? нигде не могу найти long int dec //десятичное число, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод Сайт называется reddit: The Thinkpad X220 Tablet is the best budget school laptop period. Это. . .
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
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru