|
0 / 0 / 0
Регистрация: 26.04.2023
Сообщений: 8
|
|
Реализовать на Python разбор двоичного формата данных05.05.2023, 21:02. Показов 908. Ответов 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
|
|
| 05.05.2023, 21:02 | |
|
Ответы с готовыми решениями:
0
Реализовать разбор двоичного формата данных Реализовать разбор двоичного формата данных |
| 05.05.2023, 21:02 | |
|
Помогаю со студенческими работами здесь
1
Реализовать разбор двоичного формата данных Реализовать разбор двоичного формата данных Задача, реализовать разбор двоичного формата данных, но программа не работает Разбор формата *.id
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|