You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MIME类型配置中使用十六进制魔数值识别不可打印字符开头的.gp文件

如何在MIME类型配置中使用十六进制魔数值识别不可打印字符开头的.gp文件

嗨,我来帮你搞定这个问题!你猜的没错,对于开头是不可打印字符的文件,我们确实需要用十六进制字节值来配置magic规则,而不是之前用的字符串匹配。

先看你的.gp文件的xxd输出:开头四个字节的十六进制是50 4b 03 04,这其实是标准Zip文件的签名(对应ASCII的PK),但你需要把它识别为GuitarPro的文件类型,所以我们可以直接针对这个十六进制字节串来写magic规则。

具体的配置方法很简单,只需要在<match>标签里把type设为hex,然后value填你要匹配的十六进制字节(不用空格,直接连起来写),offset保持0(从文件开头开始匹配)。另外注意优先级:因为系统大概率已经有识别Zip文件的magic规则,你需要把这个规则的priority设得比Zip的默认优先级高(比如设为60,默认Zip可能是50),这样系统会优先把.gp文件识别为你的GuitarPro类型,而不是普通Zip。

给你一个完整的配置示例:

<mime-type type="audio/x-gtp">
  <comment>Old GuitarPro .gp file</comment>
  <magic priority="60">
    <!-- 匹配文件开头的50 4b 03 04十六进制字节 -->
    <match value="504b0304" type="hex" offset="0" />
  </magic>
  <glob pattern="*.gp"/>
</mime-type>

这样配置之后,系统就能通过文件开头的十六进制字节,正确把.gp文件识别为你指定的MIME类型了,完美解决不可打印字符无法用字符串匹配的问题!

备注:内容来源于stack exchange,提问作者Magenta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:29:15