Можно ли в 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
🎯 Новые санкции Великобритании: что нужно знать
Великобритания регулярно пересматривает санкционный режим и делает более эффектывным. Сегодня Великобритания ввела новые санкции против финансовых схем, которые Россия использует для обхода западных ограничений. Вот главное:
Что произошло? Под санкции попали Capital Bank (Кыргызстан), криптобиржи Grinex и Meer, а также новый криптотокен A7A5. Этот токен за 4 месяца переместил $9,3 млрд — специально для обхода санкций.
Почему это важно? Россия активно ищет способы обойти международные санкции через:
• Банки в Кыргызстане
• Криптовалютные сети
• Сложные финансовые схемы
Что дальше? Эти меры принимаются после встречи британского премьера, европейских лидеров, Зеленского и Трампа в Вашингтоне. Великобритания и союзники продолжат усиливать давление. Цель — заставить президента Путина прийти к серьёзным переговорам по Украине.
Слова министра по санкциям Стивена Даути:
«Вместе с союзниками мы продолжаем поддерживать инициативу США по прекращению этой незаконной войны в Украине и достижению справедливого и устойчивого мира».
Санкции — это не просто экономическое давление. Это целенаправленная попытка остановить финансирование войны и достичь мира.
#Санкции#Украина#Россия#theUK#Sanctions
🔗https://www.gov.uk/government/news/uk-targets-sanctions-circumvention-and-crypto-networks-exploited-by-russia.ru
⚡️Путь к миру через силу: как Великобритания готовится к послевоенному восстановлению Украины
🕊️ Великобритания активно работает над созданием условий для мира и послевоенного восстановления Украины. Вчера премьер-министр Кир Стармер провел важную встречу в рамках "Коалиции желающих" с президентами Макроном и Зеленским.
Что планируется для мирного времени?
Многонациональная штаб-квартира в Париже будет координировать послевоенные силы восстановления, которые помогут:
🛡️ Восстановить украинские вооруженные силы — предоставить экспертов по обучению и логистике
✈️ Обезопасить воздушное пространство — возобновить международное авиасообщение
🌊 Очистить Черное море — ускорить разминирование для безопасной торговли
Почему это важно для мира?
Как заявил премьер Стармер: "Пока мы готовимся к миру, мы должны делать всё возможное, чтобы приблизить его".
Цель — создать условия, при которых:
☑️ Украина сможет защитить себя
☑️ Российские власти поймут бесперспективность агрессии
☑️ Восстановление экономики станет возможным
☑️ Реальные шаги к миру —Великобритания выделяет £4.5 млрд в 2025 году на поддержку Украины — не для продолжения войны, а для создания условий, при которых мир станет возможным.
Сильная оборона Украины 🟰путь к переговорам
Международное сообщество готовится к послевоенному периоду, потому что верит: мир возможен, когда агрессор понимает, что его цели недостижимы.
🔗https://www.gov.uk/government/news/new-coalition-of-the-willing-headquarters-as-leaders-step-up-support-for-ukraines-immediate-flight.ru
#PeaceForUkraine#CoalitionoftheWilling#theUK
🚨 Точечные санкции против применения химического оружия: что важно знать❓
🔍 Сегодня Великобритания ввела санкции против конкретных лиц и организации, ответственных за применение химического оружия в Украине.
Кто попал под санкции и почему?
👉 Алексей Викторович Ртищев, начальник войск радиационной, химической и биологической защиты России
👉 Андрей Марченко, его заместитель
👉 АО «Федеральный научно-производственный центр научно-исследовательский институт прикладной химии»
Эти точечные санкции не направлены против российского народа. Они применены к конкретным лицам и организации за конкретные действия — поставку и применение гранат РГ-Вo с ирритантом в качестве метода ведения войны, что прямо нарушает Конвенцию о запрещернии химического оружия.
Что такое Конвенция о запрещении химического оружия?
📄 Это международное соглашение, запрещающее применение химических веществ в качестве оружия. 193 страны, включая Россию и Великобританию, подписали его, обязавшись не применять химического оружия.
Министр по делам Европы Стивен Даути заявил:
🔈«Чудовищное химическое оружие должно было остаться в прошлом, но Россия продолжает применять его на поле боя в Украине.
Мы не потерпим такого грубого пренебрежения Конвенцией о запрещении химического оружия, именно поэтому мы вводим санкции против российского научно-исследовательского института и двух высокопоставленных российских военных чиновников, способствующих нарушению Россией положений о химическом оружии, и играющих ключевую роль в его передаче и применении на поле боя».
Почему это важно?
⚡️Химическое оружие запрещено из-за неизбирательного характера его действия и причиняемых страданий. Применение таких веществ в военных конфликтах — серьезное нарушение международного права, с которым международное сообщество не может мириться.
Великобритания продолжает применять санкции для защиты международных норм и принципов, а не против российского населения. Эти меры демонстрируют приверженность Великобритании защите международного права и гуманитарных стандартов.
#OPCW#Sanctions#StephenDoughty#TheUK
🎾Секреты Уимблдона от британских дипломатов!
Уимблдон-2025 только что завершился, но традиции остаются! Знаете ли вы, какой цвет доминирует на Уимблдоне? Или что такое Pimm's?
Наш коллега Стюарт раскрывает три самые загадочные традиции Уимблдона... пытаясь при этом не уронить теннисный мяч! 🏆
Спойлер: теннис оказался сложнее, чем мы думали!
#Wimbledon#TheUK#BritishEmbassy#Tennis
#OTD 84 года назад 🥇 из арктических конвоев вышел из Хвалфьорда в Исландии в Россию и через 🔟 дней прибыл в Архангельск.
С августа 1941 года по май 1945 года было проведено 78 конвоев, и условия этих миссий были одними из самых тяжелых, с которыми сталкивались моряки антигитлеровской коалиции. Помимо немецких подводных лодок и авиации, они столкнулись с экстремальным холодом, штормами и льдом.
Уровень потерь судов в арктических конвоях был выше, чем на любом другом маршруте союзников. За всю кампанию арктических конвоев из-за немецких подводных лодок и авиации 🩸погибло более 3 тысяч человек.
Арктические конвои доказали, что союзники намерены помогать Советскому Союзу 👊 сопротивляться, тем самым временем готовясь к открытию Западного фронта в Европе.
Сегодня, как и каждый год, мы отдаем дань 🙏 уважения всем храбрым военнослужащим, которые участвовали в Арктических конвоях и отдали свои жизни.
#VEDay80#VE80#ArcticConvoys#VJDay#theUK
Мы рады объявить о вступлении Дейни Долакии в должность заместителя посла 🇬🇧 Великобритании в 🇷🇺 России.
🌍 И нам важен ваш голос!
У вас есть вопросы о жизни и повседневности британского дипломата, о Великобритании или о первых впечатлениях Дейни в России? Наша новая заместитель посла хочет услышать именно вас.
Что бы вы у неё спросили?
Оставляйте свои вопросы ниже.👇 Мы обязательно передадим их ей, и она ответит на как можно больше из них в самое ближайшее время.
Это ваш шанс провести разговор с британской дипломатией!
🔗https://www.gov.uk/government/people/danae-dholakia.ru
#YourVoiceMatters#Diplomacy#Q&A #DHM#theUK
Заместитель посла Великобритании Дейни Долакия отвечает на ваши вопросы! 👉
Узнайте, какую книгу братьев Стругацких Дейни читает сейчас, a также какой классический роман она решила прочитать на русском в честь юбилея одной из великих английских писательниц. ✍️
#YourVoiceMatters#Diplomacy#Q&A #DHM#TheUK#JaneAusten#Literature
Нет, мы не забыли о ваших вопросах заместителю посла Великобритании Дейни Долакии! 🤌
Узнайте, как заместитель главы миссии Дейни Долакия впервые встретилась с будущей британской космонавткой и какой сказочный вид транспорта покорил её сердце во время первого путешествия по России в 1989 г.
А также выясните, что в русском языке заставляет её снова и снова к нему возвращаться, несмотря на всю сложность грамматики. 👆
#YourVoiceMatters#Diplomacy#Q&A #DHM#TheUK#Language#HelenSharman