Конвертировать MIME-тип из спецификации freededesktop в формат libmagic

После прочтения спецификации shared-mime-info и добавления моих собственных типов в / usr / share / mime / packages. Я обновил базу данных:

$ update-mime-database /usr/share/mime

Я попытался с gvfs-info, он возвращает правильную пантомиму. Так что командный файл unix использует libmagic, а libmagic использует свою собственную базу данных /usr/share/misc/magic . Я хотел бы знать, если они способ конвертировать XML-файл в волшебный файл для libmagic?

1 ответ

Ты не можешь Ваша база данных mime и libmagick выполняют две разные функции и предназначены для совместного использования. Libmagick считывает "магический номер" в заголовке файла, чтобы определить, что это за файл, а также расширения файла вашей карты базы данных MIME до его MIME-типа.

Попробуйте сначала определить файл по его расширению и использовать libmagick в качестве резервной копии на случай, если вы встретите файл без расширения.

Вы не хотите просто использовать libmagick, потому что ни один файл не гарантирует, что в заголовке этого "магического номера" действительно есть. Получить хорошую поддержку для правильного определения каждого файла mimetype каждый раз может быть сложно.

Если вы хотите читать файлы.desktop, используйте ini-парсер.

Другие вопросы по тегам