Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как определить тип файла по его содержимому, а не по расширению? / 6 сообщений из 6, страница 1 из 1
20.07.2005, 10:56
    #33175197
Maktub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить тип файла по его содержимому, а не по расширению?
Как определить тип файла(граф. или текстовый или таблица или архив) по его содержимому, а не по расширению?
Может есть какие-то загловочные данные в файле, которые можно считать???
...
Рейтинг: 0 / 0
20.07.2005, 11:02
    #33175218
nik_x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить тип файла по его содержимому, а не по расширению?
MaktubКак определить тип файла(граф. или текстовый или таблица или архив) по его содержимому, а не по расширению?
Может есть какие-то загловочные данные в файле, которые можно считать???

Если силин в *nix, то возьми исходник file.
...
Рейтинг: 0 / 0
20.07.2005, 11:10
    #33175244
SeraTJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить тип файла по его содержимому, а не по расширению?
Графические файлы часто начинаются со своих специальных символов. Например, в BMP-ке первые 2 байта файла -- BM.
Gif-ы начинаются с GIF, далее версия gif-а.

В exe-файле первые 2 байта: MZ.
Zip с PK.
Вобщем, это зависит от формата файла.

А ответ на твой вопрос -- определить содержимое точно невозможно. Разве что почитать спецификации для нужного набора, и с некоторой вероятностью можно будет определить, что это за файл. Но не более того.
...
Рейтинг: 0 / 0
20.07.2005, 11:13
    #33175262
Maktub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить тип файла по его содержимому, а не по расширению?
nik_x
Если силин в *nix, то возьми исходник file.

Ты говоришь про /usr/include/sys/file.h ????
...
Рейтинг: 0 / 0
20.07.2005, 11:14
    #33175266
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить тип файла по его содержимому, а не по расширению?
MaktubКак определить тип файла(граф. или текстовый или таблица или архив) по его содержимому, а не по расширению?
Может есть какие-то загловочные данные в файле, которые можно считать???

Практически все бинарники (графичкеские и архивы) начинаются
с неизменяемой последовательности байтов. Если ты крут в С++
то без труда соберешь статистику признаков интересующих тебя
типов (или классов) файлов.

Для текстовиков - тут посложнее. Надо почитать книжки
про энтроприю и т.п.

Существуют готовые реализации решения твоей проблемы в виде
софта имя которому "локальные поисковики".
...
Рейтинг: 0 / 0
20.07.2005, 11:16
    #33175273
Maktub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить тип файла по его содержимому, а не по расширению?
SeraTJГрафические файлы часто начинаются со своих специальных символов. Например, в BMP-ке первые 2 байта файла -- BM.
Gif-ы начинаются с GIF, далее версия gif-а.

В exe-файле первые 2 байта: MZ.
Zip с PK.
Вобщем, это зависит от формата файла.

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

вот это как раз нужные байтики "в BMP-ке первые 2 байта файла -- BM.", которые и искал. Да, коненчо же можно будет определить с некой вероятностью.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как определить тип файла по его содержимому, а не по расширению? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]