|
38 / 37 / 8
Регистрация: 09.03.2010
Сообщений: 79
|
|
Определить формат файла18.10.2010, 10:09. Показов 4037. Ответов 8
Метки нет (Все метки)
Для определения формата файла в своей прогармме использую базу magic.mgc (из команды file). Не определяет форматы MS Office 2007. Есть ли решение? Возможно есть другой метод определения формата? Не хотелось бы составлять свою базу форматов и выполнять в программе побайтовую обработку файла (для определения сигнатуры файла)
Заранее благодарю...
0
|
|
| 18.10.2010, 10:09 | |
|
Ответы с готовыми решениями:
8
Определить формат wav-файла Не могу определить формат файла |
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 18.10.2010, 10:24 | |
|
А в базе то что?
Добавлено через 2 минуты Способов всего два: по расширениям файлов и по внутренним заголовкам (с теми самыми сигнатурами).
0
|
|
|
38 / 37 / 8
Регистрация: 09.03.2010
Сообщений: 79
|
|
| 18.10.2010, 10:29 [ТС] | |
|
вот именно, что не могу найти не скомпиленную базу (magic.mime)
по расширениям - не вариант, расширение можно любое задать или убрать вообще. а сигнатуры - можно, но программа должна обрабатывать очень много форматов, потому и не хочется составлять свою базу сигнатур. сделать можно, но так не хочется изобретать велосипед...
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 18.10.2010, 10:34 | |
|
Винда всегда сначала по расширению определяет, передаёт подоконнику, который с этим расширением должен работать, а он уже по сигнатурам перебирает только те форматы, с которыми умеет работать. Но велосипедных дел мастером себя провозглашать действительно не стоит.
0
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|||||||
| 18.10.2010, 18:24 | |||||||
Добавлено через 5 минут
0
|
|||||||
|
38 / 37 / 8
Регистрация: 09.03.2010
Сообщений: 79
|
||
| 18.10.2010, 20:56 [ТС] | ||
|
Для сравнения: Word 2007 (.docx) String in HEX: 50 4b 03 04 14 00 06 00 08 00 00 00 21 00 30 c9 Excel 2007 (xltx) String in HEX: 50 4b 03 04 14 00 06 00 08 00 00 00 21 00 a7 95 PowerPoint 2007 (pptx) String in HEX: 50 4b 03 04 14 00 06 00 08 00 00 00 21 00 5c 0b
0
|
||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 19.10.2010, 12:03 | |
|
Вот создал я word.docx
HEX: 50 4B 03 04 14 00 06 00 │ 08 00 00 00 21 00 DD FC Zerkalka, извини но ты немного не соображаешь о чем говоришь Если это ZIP-архив, то смотреть байты дальше не имеет смысла Потому что ZIP-архив имеет заголовок (переменной длины кстати) Я могу взять создать ZIP-архив и сделать чтобы первые 16 байтов совпадали с твоими Но это не будет формат docx Чтобы разпознать что это docx нужно открыть этот ZIP-архив и лазить уже внутри Причем я сильно подзреваю что отличить docx от xlsx и от pptx очень трудно
0
|
|
|
38 / 37 / 8
Регистрация: 09.03.2010
Сообщений: 79
|
|
| 19.10.2010, 13:10 [ТС] | |
|
odip, ясно. вразумительных советов не даете, а только оскорбляете перед этим извинившись. в программке Hex Editor Neo можно создать файл с любой сигнатурой (и zip будет не архивом, а не понятно чем). меня интересует ответ на вопрос из первого поста.
0
|
|
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 19.10.2010, 20:18 | |
|
Ну если ты понял, тогда повторю еще раз:
Сигнатурным способом ( как ты пытаешься сделать в посте #6 ) ты не отличишь ZIP-архив от docx, pptx, xlsx Нужно парсить файл
0
|
|
| 19.10.2010, 20:18 | |
|
Помогаю со студенческими работами здесь
9
Определить формат файла(чем его распаковать) Как можно определить формат файла, находящегося в буфере обмена Как исправить ошибку «Формат файла xls не соответствует разрешения файла»? Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется Проверка формы отправки файла на имя и формат файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|