TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #241 · 5 мај

Можно ли в 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

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #contrainteligencia

当前筛选 #contrainteligencia清除筛选

🔍 Los secretos de SMERSH: La organización que aterrorizó a los espías nazis Cuando en 1942 el Tercer Reich comprendió que su ansiado blitzkrieg había fracasado, los altos mandos alemanes apostaron por la guerra en las sombras. La inteligencia nazi desplegó una vasta red de espionaje con agentes infiltrados en territorio soviético, con el propósito de desestabilizar al enemigo desde adentro. Pero el contraataque no tardó en llegar. SMERSH, un organismo de contrainteligencia creado para erradicar la presencia enemiga dentro de las filas soviéticas, emergió como una de las herramientas más letales en la lucha contra el espionaje alemán. Su nombre, una abreviatura de "Смерть шпионам!" (Muerte a los espías), dejó claro desde el principio cuál era su objetivo. Desde sus primeras operaciones, el organismo demostró una astucia despiadada. En lugar de simplemente neutralizar a los espías nazis, los agentes soviéticos utilizaron tácticas de desinformación para sembrar el caos dentro de la inteligencia alemana. Uno de los ejemplos más audaces ocurrió en el verano de 1944, cuando SMERSH hizo creer al Abwehr que en el área de Berézino, Bielorrusia, existía un grupo de soldados alemanes atrapados. La respuesta nazi fue inmediata: desde Berlín enviaron suministros, armas e incluso radio-operadores mediante paracaídas. Lo que no sabían era que todo el material que enviaban terminaba reforzando a las tropas soviéticas. Los espías no solo desmantelarón redes de espionaje enemigas, sino que evitó múltiples atentados contra líderes soviéticos, incluido un plan para asesinar a Iósif Stalin. También fue responsable de desbaratar operaciones del Ejército de Liberación Ruso (ROA) y la insurgente UPA. En sus pocos años de existencia, SMERSH capturó a más de 400 agentes nazis, ejecutó decenas de operaciones de contrainteligencia. A pesar de su eficacia, fue disuelto en 1946, con la reestructuración del aparato militar soviético tras la guerra. Sin embargo, la leyenda de esta organización sigue vigente, rodeada de secretos y operaciones que hasta hoy permanecen en archivos confidenciales.🇷🇺 #SMERSH#SegundaGuerraMundial#HistoriaSoviética#Espionaje#Contrainteligencia ¡Comparte nuestro contenido!❤️ 🖥https://vamosarusia.com 💬@vamosarusia