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 слични објави

Пребарај: #ecosystemdevelopment

当前筛选 #ecosystemdevelopment清除筛选
Crypto M - Crypto News

@CryptoM · Post #65449 · 13.04.2026 г., 09:15

🚀 Zcash Open Development Lab Unveils Strategic Direction Focused on Post-Quantum Security On April 13, Zcash Open Development Lab (ZODL) founder Josh Swihart announced the latest developments for Zcash, emphasizing a strategic direction centered on post-quantum security, scalability, and user experience. According to BlockBeats, Swihart likened the initiative to the Artemis II lunar mission, highlighting the pursuit of seemingly impossible goals through technological breakthroughs. The ZODL team revealed that Zcash is entering the 'Zcash IV' phase, aiming to build infrastructure akin to a 'lunar base' to support the protocol and applications' secure expansion to billions of users, while advancing the vision of privacy transactions without large-scale financial surveillance. On the product and technology front, ZODL continues to iterate, with its 3.3.x version now available on iOS and Android, featuring new hardware wallet connection management, SDK upgrades, and multiple user experience enhancements. Key developments include advancing Keystone wallet functionality and upgrading the address system (ZIP 316, UIVK/UFVK). Meanwhile, the Zcash core team has addressed several system issues and is progressing with the Zallet alpha version development, strengthening unified address standards and wallet interaction experience to lay the foundation for future scalability and performance improvements. Additionally, ZODL disclosed ongoing growth in application data and participation in a stablecoin privacy summit to enhance industry collaboration. However, due to increased regulatory and network restrictions, ZODL has temporarily removed its app from Russian app stores. The team emphasized that privacy is not optional but a fundamental need in the digital age, and they will continue to accelerate delivery pace to promote ZEC adoption and ecosystem development. The core of Zcash Open Development Lab is to develop an open, self-custodial private financial platform, aiming to expand ecosystem interoperability through collaboration and bring protected ZEC transactions to the global mainstream market. #Zcash#ZODL#PostQuantumSecurity#Cryptocurrency#Privacy#Blockchain#Scalability#UserExperience#KeystoneWallet#Zallet#Stablecoin#FinancialPrivacy#EcosystemDevelopment#DigitalPrivacy#OpenDevelopment#ZEC