Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Шестнадцатеричный дамп из 318 байтов Википедии фавиконки , или W.svg из Википедии. В первом столбце указан начальный адрес строки, а в столбце *указано повторение.

Двоичный файл является компьютерным файлом , который не является текстовым файлом . [1] Термин «двоичный файл» часто используется как термин, означающий «нетекстовый файл». [2] Многие двоичные форматы файлов содержат части, которые можно интерпретировать как текст; например, некоторые файлы компьютерных документов, содержащие форматированный текст , такие как старые файлы документов Microsoft Word , содержат текст документа, но также содержат информацию о форматировании в двоичной форме. [2]

Структура [ править ]

Двоичные файлы обычно представляют собой последовательность байтов , что означает, что двоичные цифры ( биты ) сгруппированы по восьмеркам. Двоичные файлы обычно содержат байты, которые предназначены для интерпретации не как текстовые символы . Скомпилированные компьютерные программы являются типичными примерами; действительно, скомпилированные приложения иногда, особенно программисты, называют двоичными . Но двоичные файлы также могут означать, что они содержат изображения, звуки, сжатые версии других файлов и т. Д. - короче говоря, любой тип содержимого файла вообще. [1]

Некоторые двоичные файлы содержат заголовки , блоки метаданных, используемые компьютерной программой для интерпретации данных в файле. Заголовок часто содержит подпись или магический номер, который может идентифицировать формат. Например, файл GIF может содержать несколько изображений, а заголовки используются для идентификации и описания каждого блока данных изображения. Начальные байты заголовка будут содержать текст вроде GIF87aили, GIF89aкоторый может идентифицировать двоичный файл как файл GIF . Если двоичный файл не содержит заголовков, его можно назвать плоским двоичным файлом .

Манипуляции [ править ]

Чтобы отправлять двоичные файлы через определенные системы (например, электронную почту ), которые не допускают всех значений данных, они часто переводятся в простое текстовое представление (с использованием, например, Base64 ). Недостатком кодирования данных является увеличение размера файла во время передачи (например, использование Base64 увеличивает размер файла примерно на 30%), а также необходимость преобразования обратно в двоичный код после получения. Увеличенному размеру может противодействовать сжатие ссылок более низкого уровня, так как полученные текстовые данные будут иметь примерно столько же меньшей энтропии, сколько и увеличенный размер, поэтому фактические данные, передаваемые в этом сценарии, вероятно, будут очень близки к размеру оригинала. двоичные данные. См. Раздел " Двоичное кодирование в текст" для получения дополнительной информации по этой теме.

Microsoft Windows и ее стандартные библиотеки для языков программирования C и C ++ позволяют программисту указать параметр, указывающий, должен ли файл быть простым текстовым или двоичным при открытии файла; это влияет на вызовы стандартной библиотеки для чтения и записи из файла, поскольку система преобразует между символом конца строки C / C ++ (символ перевода строки ASCII) и последовательностью конца строки, которую Windows ожидает в файлах (код ASCII возврат каретки и перевод строки символов в последовательности). В Unix-подобном систем, стандартные библиотеки C и C ++ в этих системах также позволяют программисту указать, должен ли файл быть текстовым или двоичным, но библиотеки могут игнорировать и игнорируют этот параметр, поскольку последовательность конца строки в Unix-подобных systems - это просто символ конца строки C / C ++.

Просмотр [ править ]

Редактор шестнадцатеричного или зритель может быть использован для данных просмотра файла в виде последовательности шестнадцатеричного (или десятичного, двоичный или ASCII символа) значений для соответствующих байт двоичного файла. [2]

Если двоичный файл открывается в текстовом редакторе , каждая группа из восьми битов обычно переводится как один символ, и пользователь будет видеть (возможно, неразборчиво) отображение текстовых символов. Если файл открыт в каком-то другом приложении, это приложение будет использовать каждый байт по-своему: возможно, приложение будет рассматривать каждый байт как число и выводить поток чисел от 0 до 255 - или, возможно, интерпретировать числа в байтах. как цвета и отображать соответствующее изображение. Другие типы средств просмотра (называемые «экстракторами слов») просто заменяют непечатаемые символы пробелами, открывая только читаемый человеком текст. Этот тип просмотра полезен для быстрой проверки двоичного файла с целью поиска паролей в играх, поиска скрытого текста в нетекстовых файлах и восстановления поврежденных документов.[2] Его даже можно использовать для проверки подозрительных файлов (программного обеспечения) на предмет нежелательных эффектов. Например, пользователь увидит любой URL / адрес электронной почты, к которому подозрительное программное обеспечение может попытаться подключиться, чтобы загрузить неутвержденные данные (для кражи). Если файл сам по себе рассматривается как исполняемый и запускается, то операционная система попытается интерпретировать файл как серию инструкций на своем машинном языке .

Интерпретация [ править ]

Стандарты очень важны для двоичных файлов. Например, двоичный файл, интерпретируемый набором символов ASCII, приведет к отображению текста. Пользовательское приложение может интерпретировать файл по-разному: байт может быть звуком, пикселем или даже целым словом. Сам по себе двоичный файл не имеет смысла до тех пор, пока исполняемый алгоритм не определит, что следует делать с каждым битом, байтом, словом или блоком. Таким образом, простое изучение двоичного файла и попытка сопоставить его с известными форматами может привести к неправильному выводу о том, что он на самом деле представляет. Этот факт можно использовать в стеганографии , где алгоритм по-разному интерпретирует файл двоичных данных, чтобы выявить скрытое содержимое. Без алгоритма невозможно сказать, что скрытый контент существует.

Двоичная совместимость [ править ]

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

Этот термин чаще всего используется для обозначения того, что файлы данных, созданные одним приложением, точно такие же, как файлы данных, созданные другим приложением. Например, некоторые компании-разработчики программного обеспечения производят приложения для Windows и Macintosh, которые являются двоично-совместимыми, что означает, что файл, созданный в среде Windows, взаимозаменяем с файлом, созданным на Macintosh. Это позволяет избежать многих проблем с преобразованием, вызванных импортом и экспортом данных.

Одна из возможных проблем двоичной совместимости между разными компьютерами - это порядок байтов компьютера. Некоторые компьютеры хранят байты в файле в другом порядке. [3]

См. Также [ править ]

  • Дизассемблер
  • Исполняемый
  • Список форматов файлов

Ссылки [ править ]

  1. ^ a b «Определение двоичного файла от Информационного проекта Linux (LINFO)» . www.linfo.org . Проверено 12 октября 2017 .
  2. ^ a b c d "Ascii vs. двоичные файлы" . www.cs.umd.edu . Проверено 12 октября 2017 .
  3. ^ «NCL: чтение двоичных данных» . www.ncl.ucar.edu . Архивировано из оригинала на 2017-10-12 . Проверено 12 октября 2017 .

Внешние ссылки [ править ]

  • Словарное определение двоичных файлов в Викисловаре