0

我有一个代表 .jpeg 图像的字节文件。但是,当我尝试打开图像时,我收到一条错误消息,表明我的文件格式不正确。我对此有点失望,因为文件中的字节看起来应该可以工作。在我阅读的内容中,该文件与 JPEG 文件格式完全一致。这是一张大小合适的图片,所以我不会发布所有数据,但前几行看起来像这样:

ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff e1 00 58 45 78 69 66 00 00 4d 4d 00 2a 00 00 00 08 00 02 01 12 00 03 00 00 00 01 00 06 00 00 87 69 00 04 00 00 00 01 00 00 00 26 00 00 00 00 00 03 a0 01 00 03 00 00 00 01 00 01 00 00 a0 02 00 04 00 00 00 01 00 00 0a 20 a0 03 00 04 00 00 00 01 00 00 07 90 00 00 00 00 ff db 00 43 00 1f 15 17 1b 17 13 1f 1b 19 1b 23 21 1f 25 2f 4e 32 2f

我查看了其他一些 .jpeg 图像的来源,我可以看出它与我在这里看到的完全不同。我怀疑正在进行一些编码,我只是不确定它是什么。如果有人能指出我正确的方向,我将不胜感激。谢谢!

编辑

这是文件的十六进制数据。我知道我需要把它转换成一些东西。我只是不确定是什么。它是十进制,二进制还是什么?谢谢!

4

2 回答 2

0

您绝对应该使用JPEGsnoop,它是一种专用于(除其他外)检查 JPEG 文件的工具 - 包括损坏 JPEG 照片中的错误检测(请参阅JPEGsnoop 使用)。

从您发布的内容来看,前 20 个字节是完全正确的(包括有效的 SOI 标记0xFFD8、APP0 标记0xFFE0、段长度0x0010等)。JPEGsnoop 将帮助确定问题所在。

于 2012-09-25T21:00:36.077 回答
0

如果您说您在文本文件中确实有代表二进制的十六进制数字 - 您可以使用此工具对其进行转换:http ://stahlworks.com/dev/index.php?tool=hextobin

或者你可以自己写一个程序。如果您添加一些有关您知道的语言的信息,有人可能会为您指明正确的方向。这是 Perl http://www.velocityreviews.com/forums/t22256-hexadecimal-to-binary-file-conversion-utility.html中的一个实现

于 2012-09-24T20:27:26.057 回答