Формат файла

Термин формат файла (или тип файла) используется для описания структуры данных, записанных в компьютерном файле.

Так как файл представляет собой просто последовательность битов (т. е. нулей и единиц), компьютерные программы, сохраняющие данные в файле, должны как-то преобразовывать обрабатываемую ими информацию в последовательность битов и наоборот. Алгоритм этого преобразования, а также соглашения о том, как различные фрагменты информации, после преобразования, располагаются внутри файла составляют то, что входит в понятие «формат файла».

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

Содержание

Спецификации

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

Иногда компании могут считать определённые форматы файлов своим коммерческим секретом и не публиковать их. Хорошо известный пример — форматы файлов пакета Microsoft Office. В некоторых случаях, компания, выпустившая приложение просто не считает нужным тратить время на написание подробной спецификации.

Если спецификация формата недоступна, то для обеспечения совместимости программы с данным форматом приходится заниматься обратной разработкой. В большинстве или во всех странах форматы файлов не защищены законами об авторских правах. Однако, в некоторых странах, патентами могут быть защищены алгоритмы, используемые для кодирования данных в какой-либо формат. Например, в широко распространённом формате GIF используется патентованный алгоритм, что привело к разработке альтернативного формата PNG.

Определение типа файла

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

Расширение имени файла

Некоторые операционные системы, например, CP/M, DOS, и Windows используют для определения типа файла часть его имени, т. н. «расширение имени файла». В старых операционных системах это были три символа, отделённые от имени файла точкой, в более новых системах, длина расширения практически не ограничена. Например, HTML-файлам может соответствовать расширение «.htm» или «.html».

Пользователь может случайно изменить расширение файла при его переименовании и сделать его недоступным или вообще «потерять». Поэтому новые операционные системы, по-умолчанию, скрывают расширения. В то же время, опытный пользователь может использовать возможность изменить назначенный файлу тип, просто сменив расширение, для того, чтобы открыть его в другой программе. Это может быть полезно, если в программе не предусмотрено открытие файлов с каким-то расширением, а пользователь знает, что их формат подходит для обработке в данной программе.

Магические числа

Другой способ, широко используемый в UNIX-подобных операционных системах, заключается в том, чтобы сохранить в самом файле некое «магическое число», по которому может быть опознан формат файла. Первоначально этот термин использовался для специального набора 2-байтовых идентификаторов, сохраняемых в начале файла, однако, любая последовательность символов, характерная для данного формата, может быть использована как «магическое число».

Метаданные

Некоторые файловые системы позволяют сохранять дополнительные атрибуты для каждого файла, т. н. «метаданные». Эти метаданные можно использовать для хранения информации о типе файла. Такой подход используется в компьютерах Apple Macintosh. Метаданные поддерживаются такими современными файловыми системами как HPFS, NTFS, ext2, ext3 и другими. Недостатком этого метода является плохая переносимость — при копировании файлов между файловыми системами разных типов метаданные могут быть потеряны.

MIME

Типы данных, определённые стандартом MIME широко используются в различных сетевых протоколах, однако в файловых системах они пока применяются редко.

См. также

Ссылки

 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home