将mime类型从freededesktop规范转换为libmagic格式

时间:2011-07-05 13:43:14

标签: file mime libmagic

阅读shared-mime-info spec后,在/ usr / share / mime / packages中添加我自己的类型。我刷新了数据库:

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

我尝试使用gvfs-info,它会返回正确的mime。所以unix命令文件使用libmagic和libmagic使用自己的数据库/ usr / share / misc / magic。 我想知道它们是否可以将xml文件转换为libmagic的魔术文件?

1 个答案:

答案 0 :(得分:2)

你做不到。你的mime-database和libmagick做了两件不同的事情,并且可以结合使用。 Libmagick读取文件头中的“magick数字”,以确定它是什么类型的文件,以及你的mime-database map的文件扩展名为mime-type。

首先尝试通过它的扩展名确定文件,并使用libmagick作为备份,以防万一 遇到没有扩展名的文件。

你不想只使用libmagick,因为没有文件保证在它的标题中实际上有“magick number”。获得对确定每个文件mimetype的良好支持 每次正确都可能很棘手。

如果您想阅读.desktop文件,请使用ini解析器。