Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Формат файла - Определение типа файла23 января 2011Оглавление: 1. Формат файла 2. Спецификации 3. Определение типа файла Для того, чтобы правильно работать с файлами, программы должны иметь возможность определять их тип. По историческим причинам, в разных операционных системах используются разные подходы для решения этой задачи. Расширение имени файлаНекоторые операционные системы, например, CP/M, DOS, и Microsoft Windows используют для определения типа файла часть его имени, т. е. «расширение имени файла». В старых операционных системах это были три символа, отделённые от имени файла точкой; в более новых системах расширение может являться просто частью имени, и тогда его длина ограничена только неиспользованной длиной имени. Например, HTML-файлам может соответствовать расширение «.htm» или «.html». Пользователь может свободно изменить расширение файла. Поскольку многие оболочки пользователя используют расширение, чтобы определить программу, с помощью которой нужно открыть файл, это может сделать последний недоступным для работы или вообще «потерять», если пользователь забудет исходное расширение. Поэтому Windows Explorer по умолчанию скрывает расширения. Эта практика имеет и обратную сторону: так как расширение файла не видно, можно обмануть пользователя, заставив его думать, что, например, файл с расширением .exe изображение с другим расширением. В то же время, опытный пользователь может использовать возможность изменить назначенный файлу тип, просто сменив расширение, чтобы открыть его в другой программе, не указывая её напрямую. Это может быть полезно, если в программе не предусмотрено открытие файлов с каким‑то расширением, а пользователь знает, что их формат подходит для обработки в данной программе. Магические числаДругой способ, широко используемый в UNIX-подобных операционных системах, заключается в том, чтобы сохранить в самом файле некое «магическое число» — последовательность символов, по которой может быть опознан формат файла. Первоначально этот термин использовался для специального набора 2-байтовых идентификаторов, сохраняемых в начале файла, однако, любая последовательность символов, характерная для данного формата, может быть использована как «магическое число». Для определения формата файла служит команда file, которая использует файл /usr/share/misc/magic $ file /bin/ls /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked, for GNU/Linux 2.6.18, stripped $ file notes.txt notes.txt: UTF-8 Unicode text $ file leave_2009-10-12.odt leave_2009-10-12.odt: OpenDocument Text МетаданныеНекоторые файловые системы позволяют сохранять дополнительные атрибуты для каждого файла, т. е. «метаданные». Эти метаданные можно использовать для хранения информации о типе файла. Такой подход используется в компьютерах Apple Macintosh. Метаданные поддерживаются такими современными файловыми системами как HPFS, NTFS, ext2, ext3 и другими. Недостатком этого метода является плохая переносимость — при копировании файлов между файловыми системами разных типов метаданные могут быть потеряны. MIMEТипы данных, определённые стандартом MIME, широко используются в различных сетевых протоколах, однако в файловых системах они пока применяются редко. Просмотров: 4018
|