Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
Недавно на портале @TAdviser вышло большое интервью Ивана Чернова@chernov_usergate о российском рынке NGFW: потребности, тренды, перспективы развития, что предлагают отечественные разработчики и почему UserGate NGFW лидирует с большим отрывом.
Читайте, изучайте и задавайте ваши вопросы!
➡️ Подробнее тут:
#NGFW
💡Ветер перемен: представляем новую систему выпуска релизов UserGate NGFW
В основе — лучшие практики международных вендоров, принятые в мировой ИТ/ИБ-индустрии.
Все подробности расскажем на вебинаре. В программе:
🔸Что побудило нас к изменениям
🔸Новая система релизов: FR, LTS, LTS (GD)
🔸Что ещё мы делаем для повышения стабильности
🔸Первый кандидат на LTS и что в нём нового
В завершении ответим на ваши вопросы.
Вебинар будет интересен как техническим специалистам, так и руководителям ИТ- и ИБ-департаментов.
Спикеры:
🔸Кирилл Прямов, менеджер по развитию NGFW
🔸Михаил Кадер, архитектор ИБ, R&D
Когда: 27 ноября, четверг, 10:00 (МСК).
Увидимся в эфире!
Зарегистрироваться
#вебинар
#NGFW
4️⃣Быстрый старт с UserGate NGFW 7: установка и начальная настройка
После покупки специализированного ПО сразу возникает вопрос: с чего начать установку?
Приглашаем на вебинар от Академии UserGate, на котором расскажем:
🔸как выполнить начальную настройку UserGate NGFW 7,
🔸о первичном подключении к платформе,
🔸как активировать лицензию онлайн и офлайн,
🔸об организации доступа в Интернет для хостов (политика сети: правила NAT и МЭ),
🔸где найти и как пользоваться технической документацией.
А еще всех участников ждет бонус: в завершение мероприятия проведем квиз, трем победителям которого подарим брендированную одежду UserGate. Подробнее об условиях расскажем на вебинаре.
Спикер: Олег Лысенко, разработчик контента, преподаватель Академии.
Когда: 23 октября, четверг, 10:00 (МСК).
Увидимся в эфире!
Зарегистрироваться
#вебинар
#NGFW
⏰9 октября в 10:00 (МСК) пройдет вебинар «Путь железа: как создаются аппаратные платформы для UserGate NGFW, SIEM, WAF».
Не секрет, что многие NGFW решения исторически создавались на базе западных устройств. Сегодня на отечественном рынке востребованы ИБ-продукты, по-настоящему произведенные на территории России. На вебинаре мы приоткроем завесу тайны над промышленным дизайном и процессом создания аппаратных платформ UserGate
💡Программа вебинара:
10:00 О UserGate
10:10 Правда о собственной разработке железа
10:20 Путь железа: от идеи до серийного производства
10:30 Какие задачи решает промышленный дизайн
10:40 Новые платформы UserGate
10:50 Ответы на вопросы
👤 Ведущие:
🔸Виктория Хромова
Designer, Brand & Design
🔸Полина Перлова
PMM UserGate NGFW
🔸Кирилл Прямов
Менеджер по развитию UserGate NGFW
➡️Встречаемся 9-го в 10:00!ℹ️
#вебинар
#NGFW
⏰28 августа в 10:00 — вебинар «Переход с иностранных NGFW на UserGate. Исследования и кейсы».
На вебинаре мы представим результаты исследований аналитического центра UserGate по поводу отношения заказчиков к возможному возвращению вендоров из недружественных стран, а также разберем ряд кейсов по переходу с зарубежных NGFW на UserGate NGFW 3️⃣
Вебинар будет интересен как техническим специалистам, так и руководителям ИТ- и ИБ-департаментов.
🦉Программа:
🔹10:00 – Новости компании и UserGate NGFW
🔹10:10 – Что будет, если они вернутся? Результаты исследований UserGate
🔹10:25 – Кейсы перехода с зарубежных NGFW на UserGate NGFW
🔹10:50 – Ответы на вопросы аудитории
👤Ведущие:
🔹Кирилл Прямов, менеджер по развитию UserGate NGFW
🔹Юля Косова, руководитель отдела стратегической аналитики UserGate
➡️Встречаемся 28-го в 10 утра1️⃣
#вебинар
#NGFW
Друзья, вы ждали очередного обновления UserGate NGFW? Этот день настал! 😉
27 марта в 10:00 мы проведем вебинар, на котором расскажем про ключевые нововведения версии 7.3, продемонстрируем на интерактивном стенде основные фичи, а также впервые в своей практике покажем публичную карту развития продукта на 2025 год.
Вебинар будет интересен как техническим специалистам, так и руководителям в сфере ИТ и кибербезопасности.
Ведущие:
🔹Кирилл Прямов, менеджер по развитию UserGate NGFW
🔹Алексей Царёв, системный инженер UserGate
➡Регистрируйтесь и участвуйте!
#вебинар
#NGFW
🔹 Какие функции UserGate NGFW наиболее востребованы клиентами и почему?
🔹 Как наш ПАК справляется с задачей обеспечения высокой производительности и необходимой стабильности?
🔹 Как мы тестируем наш NGFW и устраняем баги?
🔹 Как планируем удерживать клиентов на растущем рынке?
🔹 По каким критериям выбирать, сравнивать и покупать #NGFW решения?
На эти вопросы ответил Иван Чернов (@chernov_usergate), менеджер по развитию UserGate, в ходе #PHDays.
Спасибо коллегам из CISOCLUB за интересное интервью! 😉
Небольшой разговор с Сергеем Чарынцевым, директором дисциплины HardWear UserGate, по части представленного компанией решения.
#UserGate#NGFW
❤️Дарим два билета на фестиваль GAMEДНИ
| Розыгрыш для бустеров |
| Telegram | VK | Сайт | MAX |
Процесс импортозамещения ИТ-инфраструктуры идет полным ходом, а это значит, что средства защиты для наиболее полной реализации своей функциональности и надежной работы должны быть совместимы с отечественными инфраструктурными решениями.
Мы уделяем этому вопросу большое внимание, взаимодействуем с разработчиками, регулярно проводим тестирования на совместимость, получаем соответствующие сертификаты.
➡️Узнать больше
#UserGate#NGFW#ALDPro#Брест