前几天我发布了这个问题:关于如何修复损坏文件的建议
我示例中使用的文件可能不是最好的。这些文件仍然有点不适合工作场所,但我现在有两个文件,我觉得它们更适合解决这个问题。
可以从此处下载两个文件的档案,一个是好的,一个是坏的: 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
MD5 确实有所不同:
MD5 (bad.JPG) = 313356d98ced569d573b9ded1555cf2b
MD5 (good.JPG) = e6178e88e92a79e97b6f9babe7dd8240
如果我对每个文件进行十六进制转储,损坏的文件中包含的数据会减少,但我不确定是否可以修复。也许只是缺少标头数据,我可以将其添加回去,也许存在与元数据完全不同的真实数据,这意味着这些文件和类似文件已完全损坏。
谢谢。
答案1
查看您的 ZIP 文件即可了解情况。good.jpg 和 bad.jpg 的文件大小相同,但 bad.jpg 压缩后从 1.84MB 降至 1.03MB,而 good.jgp 几乎无法压缩。这表明 bad.jpg 的很大一部分已被其他易于压缩的数据覆盖。因此,即使您可以重建标头信息,大部分图像数据(量化然后压缩的 DCT 系数)也完全无法恢复。
答案2
答案3
实际上,你压缩这两个文件的操作已经显示了这两个文件之间的差异 -
good.jpg 压缩了 1%(jpeg 图像的典型特征) bad.jpg 压缩了 44%(jpeg 图像的非典型特征)
因此很可能大部分数据已经丢失。(至少 44%)