Я использую Ubuntu. Я пытаюсь использовать рубиновый драгоценный камень 'общая информация пантомимы' для приложения, которое я пишу.
Я понимаю, что magic.mgc является скомпилированной версией волшебного файла, который имеет определения магического числа для различных типов файлов.
НО я не понимаю, почему это-/usr/share/mime/magic еще, находится в двоичном формате вместо просто файла обычного текста с каждым параметры, разделенные пробелом как везде, я нахожу в Интернете, когда это ссылается на этот файл?
/usr/share/mime/magic имеет слово 'MIME-Magic' в начале файла, и расположите по приоритетам остальную часть материала как. Таким образом, это не похоже на magic.mgc вообще.
[100:application/vnd.scribus]
>1=^@^KSCRIBUSUTF8
[90:application/vnd.stardivision.writer]
>2089=^@
общая информация пантомимы, кажется, хочет волшебный файл в двоичном файле не скомпилированный формат как выше, и я хотел добавить определение для DOCX, но как каждый обновляет или генерирует этот файл, не используя Hex-редактор?
Существует ссылка на волшебный файл, в котором я нашел: http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
И это упоминает, что этот файл обновляется с базой данных пантомимы обновления, но что, если я просто хочу добавить некоторую новую запись в него. Hex-редактор?
Так или иначе я закончил тем, что использовал hexer для создания нового волшебного файла в ~/.local/share/mime/только с записью, которую я хотел добавить и Волшебный MIME заголовок. Кажется, работает (предположение, что я буду когда-либо иметь дело с docx на данный момент).
00000000: 4d 49 4d 45 2d 4d 61 67 69 63 00 0a 5b 36 30 3a MIME-Magic..[60:
00000010: 61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 2e application/vnd.
00000020: 6f 70 65 6e 78 6d 6c 66 6f 72 6d 61 74 73 2d 6f openxmlformats-o
00000030: 66 66 69 63 65 64 6f 63 75 6d 65 6e 74 2e 77 6f fficedocument.wo
00000040: 72 64 70 72 6f 63 65 73 73 69 6e 67 6d 6c 2e 64 rdprocessingml.d
00000050: 6f 63 75 6d 65 6e 74 5d 0a 3e 30 3d 00 08 50 4b ocument].>0=..PK
00000060: 03 04 14 00 06 00 0a -- -- -- -- -- -- -- -- -- .......---------