前几天我发布了这个问题:关于如何修复损坏文件的建议
我在示例中使用的文件可能不是最好的。这些仍然是轻微的 NSFW,但我现在有两个文件,我觉得它们更适合弄清楚如何解决这个问题。
可以从这里下载两个文件的存档,一个好的一个坏的:http : //dl.dropbox.com/u/340087/drops/05.20.11/testing-96acf4cc-033125.zip
这是一些基本数据:(大小相同)
-rw-r--r--+ 1 me staff 1935797 May 26 2009 bad.JPG
-rw-r--r--+ 1 me staff 1935797 May 26 2009 good.JPG
Run Code Online (Sandbox Code Playgroud)
MD5 确实不同:
MD5 (bad.JPG) = 313356d98ced569d573b9ded1555cf2b
MD5 (good.JPG) = e6178e88e92a79e97b6f9babe7dd8240
Run Code Online (Sandbox Code Playgroud)
如果我对每个文件进行十六进制转储,则坏文件中的数据较少,但我不确定它是否可修复。也许只是头数据丢失了,我可以重新添加它,也许有与元数据完全不同的真实数据,这意味着这些和类似的文件被完全破坏了。
谢谢。
查看您的 ZIP 文件讲述了这个故事。good.jpg 和 bad.jpg 的文件大小相同,但 bad.jpg 从 1.84MB 压缩到 1.03MB,而 good.jgp 几乎无法压缩。这表明 bad.jpg 的很大一部分已被其他易于压缩的数据覆盖。因此,即使您可以重建标题信息,大部分图像数据(量化然后压缩的 DCT 系数)也是完全无法恢复的。