Можно ли в 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
visvim VARSITY ERA DOWN JACKET.
Varsity Jacket из линии Overseas Exclusive — лаконичное переосмысление университетской классики. Модель выполнена из хлопка french terry. После окрашивания каждая куртка проходит ручную обработку, благодаря которой материал выглядит мягким и слегка «выветренным», будто вещь уже прошла через годы носки.
Внутри — наполнитель из белого гусиного пуха с облегчённым объёмом: он сохраняет тепло, не утяжеляя силуэт, формируя аккуратную округлую посадку. Баланс винтажной эстетики и современного подхода к материалам делает модель универсальной в повседневном гардеробе.
Доступен эксклюзивно в нашем магазине на Большой Дмитровке 20с2.
#visvim
visvim LEATHER ESSENTIALS CASE
Минималистичный аксессуар из высококачественной кожи, выполненный с фирменным для visvim подходом к мастерству и дизайну. Этот компактный кейс идеально подходит для хранения ежедневных мелочей.
Все размеры и расцветки представленыв нашем магазине на Большой Дмитровке 20с2.
#visvim
visvim —рабочий процесс.
История бренда началась в 2001 году, когда Хироки Накамура решил посмотреть на обувь индейских племён с точки зрения современной уличной моды. С тех пор он начал следовать пути изучения и переосмысления традиций создания одежды со всех уголков мира.
Господин Накамура черпает идеи в одежде коренных народов Америки, винтажных вещах Запада и многогранной токийской культуре. Дизайнер поэтапно воссоздаёт забытые технологии производства и обработки одежды, скрупулезно обращаясь с материалами так, как это было принято несколько столетий назад.
#visvim
visvim Valdez Down Coat
Коллекция Autumn/Winter 2025 от Хироки Накамуры продолжает
исследовать тему «будущего винтажа», и центральное место в ней традиционно занимает куртка Valdez. Вдохновленная классической летной паркой N-3B, выполнена из нейлона сверхвысокой плотности, прошедшего уникальную процедуру окрашивания Natural Dyed.
Доступна для заказа в нашем магазине на Большой Дмитровке 20с2.
#visvim
Новое поступление visvim CORDURA 20L.
До создания visvim Хироки Накамура работал в Burton Snowboards, путешествовал по миру вместе с командой райдеров и участвовал в разработках технологичной спортивной одежды, выдерживающей колоссальные нагрузки.
После основания собственного бренда он Накамура захотел создать идеальный городской рюкзак, в котором были бы воплощены особенности передового спортивного снаряжения и винтажной военной экипировки. Так появилась модель «CORDURA», названная в честь одноименного баллистического нейлона.
Каждый сезон дизайнер экспериментирует с деталями рюкзака: добавляет материалы со всех уголков света, а также заимствует элементы из культуры индейских племён и японских традиций.
Для оформления заказа— @infobeliefmoscow
#visvim
visvim SKAGWAY LO SUEDE
SKAGWAY - серия обуви visvim, в которой Хироки Накамура исследует многочисленные особенности и удобство баскетбольных кед, произведенных до начала 1960х годов.
Эта модель создана с уклоном на обувь 1950х, которую отличал низкий силуэт. Подчеркивая влияние той эпохи, дизайнер украсил смещенный к мыску резиновый лейбл леттерингом “visvim” в стиле середины XX века. Верх создан из однотонной замши с британских фабрик, чтобы владелец мог наслаждаться постепенным проявлением благородной патины.
По всем вопросам обращайтесь в поддержку – @infobeliefmoscow
#visvim
visvim BRIGADIER BOOTS-FOLK
Cилуэт visvim на основе деталей американских рабочих ботинок первой половины XX века: замша с итальянских фабрик, наборная подошва, контрастная прострочка и латунная кнопка для усиления швов.
Ботинки дополнены пробковой стелькой, которая впитывает лишнюю влагу и обеспечивает хорошую амортизацию, а также оснащены универсальной подошвой Vibram. Благодаря традиционной рантовой конструкции Goodyear Welt со временем старую подошву можно заменить на новую, тем самым продлив срок службы обуви.
По всем вопросам обращайтесь в поддержку – @infobeliefmoscow
#visvim
visvim Bickle Era Down Jacket — пуховая куртка из плотного хлопкового френч терри, окрашенная и обработанная вручную для создания естественного винтажного эффекта.
Белый гусиный пух, пуговицы из рога буйвола и армейская тесьма подчеркивают внимание к материалу и ремеслу, которое отличает каждую вещь visvim.
По всем вопросам обращайтесь в поддержку – @infobeliefmoscow
#visvim
visvim Social Sculpture Denim
Сила и история винтажного денима вдохновили Хироки Накамуру на создание собственной линейки джинс Social Sculpture. Дизайнер переосмыслил традиционное производство, где волокна разной длинны сперва окрашиваются вручную натуральным индиго согласно канатному методу, а затем медленно сплетатся в единое полотно на старинном оборудовании.
Для оформления заказа - @infobeliefmoscow
#visvim
visvim Cut & Sewn
Переосмысляя наследие винтажной спортивной одежды, Хироки Накамура создет свитштоты с заниженной линией плеча и свободной посадкой. Экспериментируя с длиной рукавов Господин Накамура представил три варианта свитшотов: Mondo, Short Sleeve и 3/4. Каждый из этих ситуэтов отлично подойдет для создания многослойного образа.
Для производства дизайнер использовал мягкую и слегка неоднородную ткань. Хироки Накамура вдохновлялся традициями ручной работы с тканью и использовал натуральные красители для достижения естественного и неравномерного оттенка.
Для оформления заказа - @infobeliefmoscow
#visvim
visvim T-Shirts
Хироки Накамура создал футболки visvim с графикой в стиле автогонок середины ХХ века. Футболки имеют свободный крой и изготовлены из мягкой ткани джерси. Они окрашены натуральными красителями, а их поверхность кропотливо состарена в несколько сложных этапов.
Для оформления заказа - @infobeliefmoscow
#visvim