чем отличается работа с бинарными файлами, от работы с обычными .
Все Программы для Windows пишут, обычно, на C+ (высокоуровневый язык) или на Assembler`е (низкоуровневый язык) .
Файл оч. жёстко привязан к Файловой системе. Файлы создаются (генерируются) Программами.
Под бинарностью, обычно, подразумевают:
а) два положения ключа (открыто/закрыто) ;
б) способ цифровой записи сигнала (1/0);
в) два вида сигнала (да/нет) ;
г) уровень сигнала (есть/отсутсвует) .
Обычные файлы можно открыть по Расширению с помощью Программы, которая может понять эти Расширения.
Бинарный код это машинный язык. Чтобы отличить где начало, а где конец Файла используют Стартовый и Стоповый биты.
Бинарный код состоит из битов информации. Это единицы и нули. Биты складываются в байты. Байты в свою очередь делятся на Старшие Байты и Младшие Байты.
Для обычных Файлов составляют n-разрядные символы. И тело Файла формируют из набора таких символов. Формирование символов производится в совокупной работе Программы и Операционной системы. Иногда, при передаче по Сетевому кабелю, по телефонным проводам, по ВЧ-выделенной линии часть информации может потеряться. Тогда применяют перекодировку передаваемых символов.
Существуют различные кодировки типа MIME, UUE, XXE, BinHex, SFV, MD5. Они позволяют упростить (убрать n-разрядность) передаваемую информацию по Сети, через Интернет. Однако, скорость передачи Файла заметно снижается из-за того, что при таких способах перекодирования будет возрастать объём передаваемой информации.
Есть какой-то Файл, с Расширением *.bin, но он, вообще-то, обычный Архив.
Чтобы интерпретировать обычные символы можно воспользоваться Калькулятором. Но, он работает только с числами. В Реестре есть встроенный интерпретатор, который позволяет переводить обычные n-разрядные символы в Hex-числа (в шестнадцетиричную систему счисления) . А Калькулятор может перевести Hex-числа в бинарный вид.
В общем, чтобы работать с бинарным кодом нужно иметь специальную программу, которая произведёт эти два вычисления, и сможет записать на Диск информацию, т. е. сгенерирует Файл.
А как выглядят бинарные Файлы, даже не представляю. Наверное, если откроешь с помощью Блокнота, там будут сплошные Крякозябы (нечитабельные символы).
работа с бинарными отличается тем что ты записываешь информацию в них не текстом как в текстовый тип а записываешь последовательности байтов. впринципе записать в них можно хоть че — даже просто обычный текст, но предворительно надо будет перекодировать весь текст в массив байтов. Про калькулятор советую забыть — ничего он не даст — просто переведешь числа из 16-ричной системы в десятичную от 0 до 255. В среде программирования Visual Studio не надо кст ничего переводить — читаешь из такого файла он те сам переводит (что я и делаю).
Как определить, файл бинарный или текстовый?
Дан произвольный файл. Требуется написать программу (C/C++), определяющую, является он текстовым или бинарным. Существует ли такой алгоритм на данный момент? Какими критериями целесообразно пользоваться?
Отслеживать
11.4k 5 5 золотых знаков 26 26 серебряных знаков 40 40 бронзовых знаков
задан 5 июл 2012 в 21:48
201 2 2 золотых знака 3 3 серебряных знака 5 5 бронзовых знаков
по сути все файлы бинарные
7 июл 2012 в 13:26
Плюсоваю, вопрос чрезвычайно интересный. Побольше бы таких!
7 июл 2012 в 14:08
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Текстовый файл-это разновидность бинарного файла.Просто разный формат записи данных.Чтоб знать этот формат, нужно знать как этот файл записывался. После записи для считывающей программы он становится безликим набором байт. Однозначного стандарта не придумали. Есть попытки, типа расширений файлов, чтоб указать считывающей программе, как записывались данные. Но эти правила различаются в разных ОС.
Можно попробовать так же, как и определяется кодировка документа — проанализировав контент.
- В случае с 8-битными кодировками это просто — смотреть наличия непечатных кодов символов.
- Для UTF-8 и иных композитных кодировок задача становится несколько сложнее.
Отслеживать
371 1 1 золотой знак 5 5 серебряных знаков 13 13 бронзовых знаков
ответ дан 5 июл 2012 в 22:01
1,990 2 2 золотых знака 27 27 серебряных знаков 56 56 бронзовых знаков
Тогда есть два варианта: 1) разделение по расширению (не очень благоприятно, а если нет расширения?) 2) сначала определение кодировки, далее в зависимости от того, однобайтовая или двухбайтовая (по крайней мере первые 127 значений) ?
5 июл 2012 в 22:06
5 июл 2012 в 22:08
@Котик_хочет_кушать, очень, кстати, интересную ссылку вы привели. Большое спасибо!
8 июл 2012 в 17:26
Ссылка интересная, но все равно спорная. Например, следует ли считать файл, содержащий только латинские буквы и символ ‘^G’ ( 007 bell) двоичным ? И т.п. Видимо автору надо четко определить, что именно он считает текстом.
Бинарные и текстовые форматы
Все форматы файлов (включая и форматы для хранения текстовых документов в файлах) можно подразделить на бинарные и текстовые .
Текстовый формат файла – это формат, основанный на plain text. Вся информация представлена в виде текста. В текстовом формате можно представить любую информацию – но её нужно закодировать в текстовый вид.
Особенно популярны текстовые форматы, разумеется, для текстовых документов. Не следует, однако, путать “текстовый формат” с “форматом plain text”. В текстовом формате может быть представлена и любая дополнительная информация – но она особым образом оформляется, чтобы отделить её от собственно текста документа.
Формат файла, не основанный на plain text, называется бинарным (от binary – англ. “двоичный”, поскольку в нём может использоваться любая последовательность двоичных данных). Например, офисный пакет Microsoft Office хранит документы, как правило, в файлах бинарных форматов.
Наиболее известный (и достаточно простой) текстовый формат – HTML . Он используется для Web-страниц. Вот как выглядит текст в формате HTML:
Это обычный текст страницы,
При просмотре Web-страницы данный текст будет выглядеть так:
Заметим, что информация о курсиве, переводе строки и ссылке (на сайт www.ru) указана в виде текста, но не попала в сам текст страницы. Также важно, что обычный перевод строки в файле не попал в текст страницы – строка переведена там, где была последовательность
Последовательности, заключённые в угловые скобки < >– не части текста, а способ указания дополнительной информации.
В формате HTML предусмотрено указание только тех видов дополнительной информации, которые нужны именно на Web-страницах. Но в последнее время активно развивается формат XML , который построен по тому же принципу, но обеспечивает работу практически с любыми видами информации.
На основании формата XML, который является достаточно обобщённым, можно создать самые разные виды форматов файлов для разных целей. И многие современные программы хранят информацию именно в файлах формата XML. Так, офисный пакет OpenOffice.Org, с которым вам предстоит познакомиться в дальнейших уроках, использует файлы формата XML.
(Правда, OpenOffice.Org сжимает файлы при помощи встроенного архиватора, аналогичного Zip. Это нужно, чтобы уменьшить их размер; кроме того, внутри архива может быть несколько файлов, хотя они составляют один документ. Таким образом, формат OpenOffice.Org всё же является бинарным – но “раскрыв” содержимое архива при помощи стандартного архиватора Zip, можно получить данные в текстовом формате).
Бинарный файл
Бинарный файл (binary в переводе с английского — «двоичный») — это формат представления данных с использованием двоичной системы счисления. В отличие от текстовых файлов, которые содержат информацию в виде символов (букв, цифр, спецсимволов и т. д.), такие форматы хранят информацию как последовательность битов (минимальных единиц информации, состоящих из 0 или 1). Двоичные файлы могут содержать данные разных типов, такие как числа (целые или с плавающей точкой), символы, звуковые или видеофайлы, изображения и многое другое.

«IT-специалист с нуля» наш лучший курс для старта в IT
IT-специалист с нуля
Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

Профессия / 8 месяцев
IT-специалист с нуля
Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

Что такое бинарный файл (двоичный файл)
Бинарными называются файлы с данными в двоичном формате, что означает, что каждому значению соответствует определенная последовательность битов. Например, для представления числа 7 в такой системе счисления требуется 4 бита: 0111. Бинарные файлы также могут содержать заголовки и дополнительные метаданные, которые описывают структуру и содержимое файла. Они используются программами для корректной интерпретации и обработки данных, записанных в двоичном коде. Некоторые примеры бинарных форматов файлов включают изображения (например, BMP, JPEG, PNG), звуковые файлы (например, WAV, MP3), базы данных и т. д.
Строго говоря, любой файл, хранящийся на жестком диске компьютера, является бинарным для самого компьютера, так как в конечном счете на аппаратном уровне машина может воспринимать только двоичный код. Однако для пользователя файлы бывают либо бинарными, либо текстовыми. Рассмотрим основные отличия между ними:
- Формат хранения данных. Бинарные файлы содержат информацию в двоичном формате, то есть в виде последовательности нулей и единиц. Текстовые файлы, напротив, хранят данные в виде символов, используя определенную кодировку, такую как ASCII или UTF-8.
- Читаемость данных. Одной из важных особенностей бинарных файлов является то, что человек не может их воспринимать без специальных программ или средств для их интерпретации. Текстовые файлы, с другой стороны, содержат информацию в виде понятного нам текста. Ее можно прочитать с помощью любого текстового редактора.
- Объем хранимых данных. Бинарные файлы обеспечивают более компактное хранение данных, так как они сохраняют исходный двоичный код без лишней информации. Текстовые файлы, в свою очередь, обычно требуют большего объема памяти, так как единицы измерения информации имеют более высокую степень диспетчеризации. Кроме того, использование двоичных данных обеспечивает их более точное представление, так как текстовые форматы могут потерять точность при конвертации чисел или при хранении особенных символов.
- Обработка данных. Бинарные файлы могут быть менее доступными для работы с данными в сравнении с текстовыми файлами. Их содержимое не может быть прочитано или отредактировано обычным текстовым редактором, и для работы требуется специализированное программное обеспечение. Кроме того, разработчики программ должны быть особенно внимательны при работе с бинарными файлами, чтобы избежать проблем совместимости или потери данных. Все это делает их более сложными для работы по сравнению с текстовыми файлами.
- Типы данных. Бинарные файлы могут хранить любые данные, включая числа, строки, изображения, звуковые файлы и другие. Текстовые файлы, с другой стороны, предназначены для хранения текстов, состоящих из букв, цифр, общих и специальных символов.
Чтобы компьютер смог работать с текстовым файлом (например, программой, написанной на высокоуровневом языке), он сначала переводит его в бинарный вид с помощью компилятора.

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить
Структура бинарного файла
Структура бинарных данных может быть представлена следующим образом:
- Заголовок файла. Он содержит основные сведения о файле, такие как размер, дату его создания и другие метаданные. Заголовок является необязательным элементом, но часто используется для хранения дополнительной информации о файле.
- Блоки данных. В бинарном файле их может быть несколько, между собой они разделяются маркерами. Блоки данных обычно имеют фиксированный размер и могут содержать любые данные, включая числа, строки, структуры и т. д.
- Структура данных. Бинарный файл может содержать структурированные данные, такие как массивы, списки, деревья и другие типы структур. Они представлены в виде последовательности блоков информации и используют специальные маркеры для обозначения начала и конца.
- Флаги и метки. В структуре двоичного файла они используются для определения определенных свойств или состояний содержащейся в нем информации. Например, флаги могут указывать на наличие ошибок или дополнительных сведений о данных.
- Конец файла. Бинарный файл обычно содержит маркер, который определяет конец содержащихся в нем данных. Он используется для определения размера и проверки целостности файла.
Структура бинарного файла может быть различной в зависимости от конкретного формата или приложения, которое его использует. Например, форматы изображений, звуковых и видеофайлов имеют свою специфическую структуру, определенную соответствующими стандартами или спецификациями.
Чтение и обработка бинарных файлов
Работа с бинарными файлами осуществляется в несколько этапов:
- Открытие файла. Для начала работы с бинарными данными необходимо открыть их с помощью специальных инструментов или методов в языке программирования. При открытии файла задается режим доступа, как для чтения, так и для записи.
- Чтение данных из файла. После открытия бинарного файла можно начать считывать данные из него. Это может быть выполнено блоками или пошагово, в зависимости от структуры файла и содержащейся в нем информации. Для считывания данных из файла используются специальные функции или методы, которые позволяют получить необработанные бинарные данные.
- Преобразование данных. Считанные бинарные данные могут требовать преобразования для дальнейшей обработки. Например, если считаны данные в виде последовательности байтов, то их можно превратить их в числа или строки в соответствии с требованиями программы.
- Обработка данных. После преобразования бинарных данных можно приступить непосредственно к работе с ними. В зависимости от цели обработки можно выполнять различные операции, такие как поиск и замена значений, фильтрация, анализ структуры файла и другие.
- Запись в бинарный файл. Если необходимо изменить или добавить данные в двоичный файл, можно воспользоваться соответствующими функциями или методами записи. Новая информация должна быть предварительно преобразована в бинарный формат, если это требуется.
- Закрытие файла. После завершения чтения и обработки бинарного файла необходимо его закрыть, чтобы освободить ресурсы и убедиться, что все изменения сохранены.
Для работы с бинарными файлами необходимо специальное программное обеспечение, так как их нельзя открыть, просмотреть или обработать с помощью обычных текстовых редакторов. К числу такого ПО относятся:
- IDA Pro. Это одна из самых популярных программ для анализа и обратной разработки бинарных файлов. IDA Pro предоставляет широкие возможности для исследования исполняемых файлов, дизассемблирования кода, поиска уязвимостей и обнаружения потенциальных вредоносных программ.
- OllyDbg. Это отладчик для анализа исполняемых файлов. OllyDbg позволяет разбирать, изменять и отлаживать код, содержащийся в бинарных файлах. Он полезен для исследования и обнаружения уязвимостей, а также для создания патчей и исправления ошибок в программном обеспечении.
- HxD. Это бесплатный шестнадцатеричный и дисковый редактор, который позволяет просматривать и изменять содержимое. HxD обеспечивает удобный интерфейс для просмотра и редактирования в различных форматах, а также поддерживает различные операции, такие как вставка, удаление и замена данных.
- FileAlyzer. Это мощный инструмент для анализа бинарных данных. FileAlyzer позволяет просматривать различные секции файлов, анализировать структуру и содержимое, искать строковые значения и выполнять другие операции для получения подробной информации о файле.
- Binwalk. Это инструмент для анализа и извлечения данных из бинарных файлов, таких как встроенные системы, образы файловых систем и другие встраиваемые ресурсы. Binwalk позволяет обнаруживать и извлекать различные типы файлов, а также искать подписи и присущую им информацию.
Применение бинарных файлов в программировании
Хранение и передача сложных структур данных. Бинарные файлы обеспечивают компактное хранение информации в двоичной форме. Они позволяют сохранять и восстанавливать сложные объекты, такие как массивы, структуры, классы и другие типы данных, без потери их исходной структуры и формата. Благодаря этому бинарные файлы используются для работы с большими объемами информации, такими как изображения, звуковые файлы или базы данных.
Сериализация и десериализация объектов. Бинарные файлы позволяют преобразовывать объекты в последовательности байтов и сохранять их в файле или передавать по сети. Сериализация используется для сохранения состояния объекта или передачи его на другую систему. Десериализация выполняет обратное преобразование, позволяя восстановить объект из бинарных данных. Обе операции часто применяются в работе с базами данных, в клиент-серверных системах, при создании игр и приложений обмена данными.
Чтение и запись потока данных. Бинарные файлы обеспечивают более эффективный способ чтения и записи данных, особенно при работе с большими объемами информации. Они позволяют пропускать символы форматирования или другие метаданные, что снижает объем передаваемой информации и ускоряет процесс ее обработки.
Управление состоянием программы. Бинарные файлы могут использоваться для сохранения состояния программы и его последующего восстановления. Это особенно важно при работе с приложениями или играми, где нужно сохранять текущее состояние игры или данные пользователя. Также эта способность применяется в операционных системах для их восстановления после критической ошибки.
Работа с медиа. С помощью двоичных данных можно сохранять изображения в форматах, специально разработанных для этой цели, таких как BMP, JPEG, PNG и других. Бинарные форматы обязательно сохраняют каждый пиксель изображения и все его детали, что делает их наиболее подходящими для работы с графикой. Двоичные файлы также широко применяются в обработке аудио- и видеофайлов. Форматы, такие как MP3, WAV, AVI, MP4 и многие другие, используют двоичное представление данных для хранения звуковой и видеоинформации. Бинарные файлы позволяют точное сохранение и воспроизведение этих данных, обеспечивая качественную обработку и воспроизведение медиаресурсов.
Разработка программного обеспечения. Бинарные файлы используются в процессе разработки программного обеспечения для хранения кода и исполняемых файлов. Бинарные форматы обеспечивают эффективную компиляцию, линковку и выполнение кода, что делает их необходимым инструментом для создания и запуска программ.
Работа с базами данных. Бинарные файлы используются для хранения и обработки информации в БД. Они позволяют компактно сохранять большие объемы информации, такой как текст, числа, даты и другие значения. Бинарные форматы эффективно управляют структурой и доступом к данным, обеспечивая быструю и надежную работу с ними.
Недостатки бинарных файлов
Непереносимость. Бинарные файлы имеют формат, зависящий от архитектуры компьютера и операционной системы. Если они созданы на одной платформе, то могут не работать на другой. Для обеспечения переносимости данных необходимо выполнить дополнительную работу по преобразованию формата при работе с разными платформами.
Неудобочитаемость. Бинарные файлы хранят данные в двоичной форме, которая нечитаема для человека. Это затрудняет процесс их отладки и тестирования, которые требуют использования специальных интерпретаторов, преобразователей и других инструментов.
Уязвимость к ошибкам и повреждениям. В случае ошибки при чтении или записи бинарного файла может произойти частичная или полная потеря данных. Бинарные файлы более чувствительны к ошибкам в сравнении с текстовыми, где некорректная информация может быть обработана или проигнорирована без значительных последствий.
Ограниченный доступ к данным. Работа с бинарными файлами требует знания и использования низкоуровневых операций, таких как чтение и запись определенного количества байтов. Поиск, сортировка или модификация содержащейся в них информации могут потребовать дополнительного кодирования и управления данными.
Таким образом, бинарные файлы являются одним из двух основных способов представления данных, используемых в программировании, хранении, обработке и передаче информации. В отличие от текстовых файлов, они более компактны и требуют меньше аппаратных ресурсов для работы с ними. Однако человеку для чтения, анализа, обработки и редактирования двоичных данных нужно использовать различные специализированные инструменты.