Бинарный файл — это набор данных, закодированных в биты виде нулей и единиц. Эти биты собираются в байты, а уже из них складывается содержимое файла, который может быть представлен в виде текста, изображения, музыки, видео или даже исполняемой программы. Однако такой файл не получится просто так открыть и прочитать. В текстовом редакторе он покажет только хаотичный набор символов. Чтобы разобраться в его содержимом, нужны специальные инструменты и понимание структуры файла.
Бинарный файл — это формат хранения данных, которые собраны в байты (каждый байт — это 8 бит). Далее байты складываются в более сложные структуры в зависимости от того, что хранится в файле. Рассмотрим основные составляющие бинарного файла.
Содержит служебную информацию — магическую сигнатуру. Это уникальная последовательность байтов в начале файла, которая позволяет определить его тип. Она служит своего рода «отпечатком пальцев» и используется операционными системами и программами для понимания, как с файлом работать. Пример сигнатуры:
Так, если в изображении заголовок содержит текст 89 50 4E 47, — эта магическая сигнатура указывает, что это файл PNG.
В этой части файла хранятся закодированные данные:
Данные обычно сжаты или закодированы для экономии места. Например, в формате .mp3 используется алгоритм сжатия, который уменьшить размер аудиофайла без заметной потери качества.
Некоторые бинарные файлы включают дополнительные данные о себе:
Метаданные часто отображаются в конце файла или между основными данными и заголовком.
Некоторые файлы содержат специальные блоки. Например:
Также интересно: Что такое хостинг?
В отличие от бинарного файла с двоичным форматом, текстовый — это понятный для любого человека файл с информацией в виде символов: букв, цифр и т. д. Ниже представлена сравнительная таблица между бинарными и текстовыми файлами.
Характеристика | Бинарный файл | Текстовый файл |
---|---|---|
Содержимое | Набор нулей и единиц (битов) | Понятный, читаемый текст |
Пример форматов | .bin, .jpg, .mp3, .exe | .txt, .html, .csv, .log |
Открытие в текстовом редакторе | Покажет странный набор символов | Покажет текст, который можно прочитать |
Использование | Хранение сложных данных (изображения, программы, музыка) | Запись заметок, кода, данных в таблицах текстом |
Скорость обработки | Высокая, так как процессор работает с файлом напрямую | Медленная, так как компьютер сначала распаковывает файл, затем обрабатывает его |
Размер | Бинарные файлы весят меньше, потому что хранятся упакованными | Тяжелее бинарных файлов |
В интернете можно найти простой способ, как сделать файл бинарным. Там рекомендуют открыть текстовый редактор, ввести пару символов, а потом сохранить файл, указав расширение бинарного файла, отличное от .txt, например .bin. Но такой вариант неверный. Расширение файла не меняет его внутренний формат — файл все равно будет содержать текстовые данные, а не байтовую информацию.
Правильно так. Для работы с двоичными данными запускаем Python и пишем код.
# Создаем бинарный файл
with open("my_binary_file.bin", "wb") as file:
# Записываем данные в виде байтов
file.write(b"\x48\x65\x6C\x6C\x6F") # Это байты, кодирующие слово "Hello"
file.write(b"\x00\x01\x02\x03\x04") # Еще немного байтов
print("Бинарный файл создан!")
После запуска этого кода файл my_binary_file.bin появится в директории пользователя (например, C:\Users\ТвоеИмя>).
Компьютер работает с бинарными данными напрямую. Если пытаться прочитать двоичный код в текстовом редакторе, он выдаст произвольный набор символов, потому что текстовый редактор ожидает текст, а не нули и единицы. Поэтому нужно использовать шестнадцатеричные редакторы (Hex-редакторы).
Hex-редактор показывает содержимое файла на уровне байтов и разрешает его изменение. Название Hex (сокращение от Hexadecimal) связано с тем, что данные в таких редакторах отображаются в шестнадцатеричной системе счисления.
Открыть бинарный файл и отредактировать можно с помощью следующих программ:
Если бинарные файлы нужно просто открыть для чтения, сделать это можно следующими инструментами.
Если файл .bin содержит образ диска, например CD/DVD, то используйте программы для работы с дисками:
Эти программы монтируют .bin-файл как виртуальный диск, который можно открыть, как обычный CD/DVD.
Если .bin-файл — это архив, то его можно открыть с помощью архиваторов:
Они позволяют распаковать содержимое файла, если он был закодирован в виде архива.
Читайте также: Какие типы данных существуют в программировании
Если .bin — это прошивка для устройства (например, роутера, смартфона, ТВ-приставки), то используйте программу, рекомендованную производителем устройства. Например:
Если .bin — это игровой файл, например от PlayStation или Sega, то используйте эмуляторы:
.bin-файлы здесь работают вместе с .cue-файлами, которые содержат дополнительную информацию о структуре диска.
Бинарный файл — это основа, которую необходимо изучить всем начинающим программистам. С их помощью программисты могут хранить и передавать сложные структуры данных, читать и записывать большие объемы информации, сохранять состояние объекта и передавать его, а также выполнять другие задачи. Еще больше основ программирования можно найти в каталоге курсов Хекслет. Там представлены полноценные программы для освоения новой профессии за 10 месяцев и краткие курсы. Некоторые доступны бесплатно.