问题是:如何区分两个文件?一个使用 JPEG 编码,另一个使用 JPEG2000。
我需要特定于格式的文件读/写功能,如果不读取文件编码,我就找不到文件编码。JPEG 现在工作正常,但 JPEG func 无法打开 JPEG2000。所以我需要确定我的文件是JPG还是JPEG2000。
根据美国国会图书馆的数字格式,所有 JPEG 2000 文件均以以下签名(也称为幻字节或幻数)开头:
00 00 00 0C 6A 50 20 20 0D 0A 87 0A
Run Code Online (Sandbox Code Playgroud)
(IANA 记录仅列出了前 12 个,因此我省略了其余部分)。
另一方面,普通JPEG文件的开头为:
FF D8 FF E0
Run Code Online (Sandbox Code Playgroud)
比较这些字节,您应该能够轻松区分它们。