Показать сообщение отдельно
  #3  
Старый 30.10.2010, 22:04
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

Цитата:
с помощью каких принципов, методов, extracter определяет, что вот эта цепочка байтов - звук, вот эта - картинка, вот это - видео?
обычно прямо перед данными или в индекс-таблице есть идентификаторы, которые и показывают, что это за данные
например, запись о данных может быть такой:
Код:
| длина имени | имя       | тип данных  | размер данных | данные |
| 7           | 001.png   | 3 {3=Image} | 102400        | .....  |
| 8           | kill.wav  | 2 {2=Sound} | 204800        | .....  |
из 3 поля видно, что это за тип ресурса. Иногда тип не указывается, например, в файлах-архивах, где имитируется кусок ФС (.cgf, .mpq и подобные). в этом случае прога и так знает, что доставать из файла
Цитата:
Как написать программу, которая извлекает?
поискать спецификации того или иного формата. если они есть - то просто читать файл в соответствии с ней. если нет - то тут встает довольно трудная задача "раскодирования" файла ресурсов - узнать, что означает то или иное поле в файле, какого оно типа, как располагаются сами ресурсы - один за другим, разделенные заголовками или же заголовки в начале файла, а данные спошняком в конце и т.д. файл может быть еще и зашифрован, такие файлы можно открыть только зная их спецификацию.
универсальный же экстрактор написать в принципе нельзя
__________________
РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت
Ответить с цитированием