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

发布于 2024-11-18 19:11:56 字数 417 浏览 7 评论 0原文

阅读 shared-mime-info 规范< /a> 并在 /usr/share/mime/packages 中添加我自己的类型。我已经刷新了数据库:

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

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

After read shared-mime-info spec and add my own types in /usr/share/mime/packages. I have refreshed the database:

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

I have try with gvfs-info, it return the right mime. So unix command file use libmagic and libmagic use his own database /usr/share/misc/magic .
I would like to know if they are a way to convert xml file to magic file for libmagic ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一笔一画续写前缘 2024-11-25 19:11:56

你不能。您的 mime-database 和 libmagic 执行两种不同的操作,并且可以结合使用。 Libmagic 读取文件头中的“幻数”,以确定它是什么类型的文件以及您的 mime 数据库将文件扩展名映射到其 mime 类型。

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

您不想只使用 libmagic,因为没有任何文件可以保证其标头中实际包含该“幻数”。为确定每个文件 mimetype 提供良好的支持
每次都正确可能很棘手。

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

You can't. Your mime-database and libmagic do two different things and are made to be used in conjunction. Libmagic reads the "magic number" in a files header in order to determine what kind of file it is and your mime-database map's file extensions to its mime-type.

Try determining a file by its extension first and use libmagic as a backup in case you
come across a file with no extension.

You don't want to just use libmagic because no file is guaranteed to actually have that "magic number" in its header. Getting good support for determining every files mimetype
correctly every-time can be tricky.

If you want to read .desktop files use an ini parser.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文