Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Идентификатор файла

Читайте также:
  1. A) воспроизведения и записи музыкального файла.
  2. Chmod wXp имя-файла
  3. Clear primary file. Очищает имя начального файла, заданное опцией Primary File.
  4. Cохранение данных в двоичных файлах.
  5. II. Компонент окно выбора файла (TOpenDialog)
  6. Link. В Unix к одним и тем же файлам можно обращаться под разными именами.
  7. Ls: невозможно получить доступ к /dev/ttyACM0: Нет такого файла или каталога
  8. Ls: невозможно получить доступ к /dev/ttyACM0: Нет такого файла или каталога
  9. Paint позволяет сохранять и работать с файлами формата (с расширением) bmp, dib и др.
  10. rm [-f | -i ] [-dRr ] имя_файла ...

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

Идентификаторы форматов часто называют магическими числами, подразумевая под этим, что они выбирались разработчиком формата произвольно. В качестве идентификатора может использоваться последовательность символов ASCII (например, ВМ или GIF), либо двух- или четырехбайтовое слово (например, 4242h или 596aa695h), либо произвольная последовательность данных, понятная только разработчику формата. Предполагается, что идентификатор должен быть уникальным даже для форматов, используемых на различных платформах, но, как вы увидите дальше, это условие далеко не всегда соблюдается. Как правило, если значение, прочитанное из определенного места в файле, совпадает с ожидаемым идентификационным значением, то программа, читающая заголовок файла, предполагает, что ей известен данный формат.

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

Второе обстоятельство заключается в том, что при создании нового формата его автор может нечаянно полностью или частично воспроизвести магические значения другого формата. Хотя такое совпадение и кажется невероятным, это все же иногда происходит. Известен случай, когда программисты, заимствуя идеи с других платформ, были уверены в том, что их усилия защищены "китайской стеной" архитектурной несовместимости. Очевидно, что подобное наивное предположение разработчиков — не более чем недостаток квалификации. Раньше проблемы с форматами, имеющими похожие идентификационные поля, возникали крайне редко и разрешались в основном путем анализа контекста. Можно ожидать, что в будущем таких проблем у пользователей прибавится вследствие более широкого применения локальных, региональных и глобальных сетей, которые позволяют получать доступ к данным, созданным на других платформах.

Третье обстоятельство проявляется в тех случаях, когда распространитель формата (не обязательно разработчик) умышленно или случайно изменяет его спецификацию, сохраняя при этом идентификатор, определенный документацией данного формата. В этом случае программа распознает формат, но не всегда может прочесть его данные. Если распространитель сделал это умышленно, то изменения не документировались. К сожалению, специалисты уже не раз сталкивались с некорректно документированными изменениями форматов. Так было, например, с файловыми форматами GIF, TIFF и TGA. Распространители форматов GIF и TGA, которые не всегда являются разработчиками, расширяют или изменяют их для того, чтобы включить в них новые типы данных. В формат TIFF были внесены таким образом изменения, названные "удобными обновлениями", предназначенные, по-видимому, специально для того, чтобы вызывать ошибки кодирования и случайные сбои прикладных программ.

 




Дата добавления: 2015-01-30; просмотров: 38 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав