对 JPEG 文件进行编码

问题描述 投票:0回答:3

我有一个代表 .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 图像的源代码,我可以看出它与我这里的图像有很大不同。我怀疑正在进行一些编码,我只是不确定它是什么。如果有人能指出我正确的方向,我将非常感激。谢谢!

编辑

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

image-manipulation jpeg file-conversion
3个回答
0
投票

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

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


0
投票

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

根据您发布的内容,前 20 个字节完全正确(包括有效的 SOI 标记

0xFFD8
、APP0 标记
0xFFE0
、段长度
0x0010
等)。 JPEGsnoop 将帮助识别问题所在。


0
投票

FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 00 01 00 00 FF ED 00 6C 50 68 6F 74 6F 73 68 6F 70 20 33 2E 30 00 38 42 49 4 D 0 4 04 00 00 00 00 00 50 1C 02 28 00 4A 46 42 4D 44 30 66 30 30 30 37 35 38 30 31 30 30 30 30 65 37 32 39 30 30 30 30 64 34 35 65 30 30 30 3 0 37 6 6 36 32 30 30 30 30 35 65 36 37 30 30 30 30 30 32 37 65 30 30 30 30 66 65 39 66 30 30 30 30 31 33 61 30 30 30 30

© www.soinside.com 2019 - 2024. All rights reserved.