Для влюбленных в программирование
Скидка до 44 000₽ на все профессии до 28.02
Главная | Все статьи | Код

Что такое бинарный файл?

Без стека Время чтения статьи ~6 минут
Что такое бинарный файл? главное изображение

Бинарный файл — это набор данных, закодированных в биты виде нулей и единиц. Эти биты собираются в байты, а уже из них складывается содержимое файла, который может быть представлен в виде текста, изображения, музыки, видео или даже исполняемой программы. Однако такой файл не получится просто так открыть и прочитать. В текстовом редакторе он покажет только хаотичный набор символов. Чтобы разобраться в его содержимом, нужны специальные инструменты и понимание структуры файла.

Познакомьтесь с основами веб-разработки

Записаться на бесплатный курс

Из чего состоит бинарный файл?

Бинарный файл — это формат хранения данных, которые собраны в байты (каждый байт — это 8 бит). Далее байты складываются в более сложные структуры в зависимости от того, что хранится в файле. Рассмотрим основные составляющие бинарного файла.

1. Заголовок (Header)

Содержит служебную информацию — магическую сигнатуру. Это уникальная последовательность байтов в начале файла, которая позволяет определить его тип. Она служит своего рода «отпечатком пальцев» и используется операционными системами и программами для понимания, как с файлом работать. Пример сигнатуры:

  • формат файла (JPEG, MP3, EXE и т. д.);
  • размеры изображения, частота звука или продолжительность видео;
  • ссылки на другие части файла, которые понадобятся программе для работы с ним.

Так, если в изображении заголовок содержит текст 89 50 4E 47, — эта магическая сигнатура указывает, что это файл PNG.

2. Основные данные (Payload)

В этой части файла хранятся закодированные данные:

  • в изображении — информация о цветах пикселей;
  • в аудиофайле — данные о частотах звука;
  • в видео — последовательность закодированных кадров плюс звук;
  • в программе — инструкции для процессора.

Данные обычно сжаты или закодированы для экономии места. Например, в формате .mp3 используется алгоритм сжатия, который уменьшить размер аудиофайла без заметной потери качества.

3. Метаданные

Некоторые бинарные файлы включают дополнительные данные о себе:

  • В аудиофайле это может быть информация об исполнителе, альбоме, названии трека.
  • В документах — сведения об авторе, версии файла, шрифтах.
  • В изображении — краткое описание иллюстрации.

Метаданные часто отображаются в конце файла или между основными данными и заголовком.

4. Кодовые таблицы или служебные блоки

Некоторые файлы содержат специальные блоки. Например:

  • в исполняемых файлах — таблицы ссылок на внешние библиотеки (DLL);
  • в архивных файлах (ZIP) — список содержимого и контрольные суммы для проверки целостности.

Также интересно: Что такое хостинг?

Чем бинарный файл отличается от текстового?

В отличие от бинарного файла с двоичным форматом, текстовый — это понятный для любого человека файл с информацией в виде символов: букв, цифр и т. д. Ниже представлена сравнительная таблица между бинарными и текстовыми файлами.

Характеристика Бинарный файл Текстовый файл
Содержимое Набор нулей и единиц (битов) Понятный, читаемый текст
Пример форматов .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\ТвоеИмя>).

Интенсив DevOps для программистов

Начать учиться

Как посмотреть бинарный файл .bin

Компьютер работает с бинарными данными напрямую. Если пытаться прочитать двоичный код в текстовом редакторе, он выдаст произвольный набор символов, потому что текстовый редактор ожидает текст, а не нули и единицы. Поэтому нужно использовать шестнадцатеричные редакторы (Hex-редакторы).

Hex-редактор показывает содержимое файла на уровне байтов и разрешает его изменение. Название Hex (сокращение от Hexadecimal) связано с тем, что данные в таких редакторах отображаются в шестнадцатеричной системе счисления.

Открыть бинарный файл и отредактировать можно с помощью следующих программ:

  • для Windows: HxD и 010 Editor;
  • для macOS: Hex Fiend;
  • для Linux: GHex или Bless Hex Editor;
  • кросс-платформенные: wxHexEditor.

Если бинарные файлы нужно просто открыть для чтения, сделать это можно следующими инструментами.

Базовые знания по Git бесплатно

Начать бесплатный курс

1. Эмулятор ISO

Если файл .bin содержит образ диска, например CD/DVD, то используйте программы для работы с дисками:

  • Daemon Tools
  • WinCDEmu
  • UltraISO
  • PowerISO

Эти программы монтируют .bin-файл как виртуальный диск, который можно открыть, как обычный CD/DVD.

2. Архиваторы

Если .bin-файл — это архив, то его можно открыть с помощью архиваторов:

  • WinRAR
  • 7-Zip
  • PeaZip

Они позволяют распаковать содержимое файла, если он был закодирован в виде архива.

Читайте также: Какие типы данных существуют в программировании

3. Прошивальщики

Если .bin — это прошивка для устройства (например, роутера, смартфона, ТВ-приставки), то используйте программу, рекомендованную производителем устройства. Например:

  • Для смартфонов — программы вроде Odin или SP Flash Tool.

4. Лаунчеры

Если .bin — это игровой файл, например от PlayStation или Sega, то используйте эмуляторы:

  • PCSX2 (PlayStation 2)
  • RetroArch
  • ePSXe (PlayStation 1)

.bin-файлы здесь работают вместе с .cue-файлами, которые содержат дополнительную информацию о структуре диска.

Заключение

Бинарный файл — это основа, которую необходимо изучить всем начинающим программистам. С их помощью программисты могут хранить и передавать сложные структуры данных, читать и записывать большие объемы информации, сохранять состояние объекта и передавать его, а также выполнять другие задачи. Еще больше основ программирования можно найти в каталоге курсов Хекслет. Там представлены полноценные программы для освоения новой профессии за 10 месяцев и краткие курсы. Некоторые доступны бесплатно.

Аватар пользователя Валерия Белякова
Валерия Белякова 24 декабря 2024
0
Больше интересного в нашем Telegram-канале
Картинка баннера
Похожие статьи