2014-11-03 49 views
0

我不小心下载了PNG图像作为ASCII文件。原始文件已被删除,所以我现在只有下载的文件。是否有可能修复由ASCII转换损坏的PNG文件?是否可以修复由ASCII转换损坏的PNG文件?

+1

不会。因为'\ r \ n','\ r'和'\ n'中的所有三个都被转换成了'\ n',所以你不知道它原来是什么代码。这是*所有*事件,所以有(我猜在这里)3 *可能性* n *发生。 – usr2564301 2014-11-03 12:48:19

+0

这是可能的,但它需要识别可能已被替换的每个可能的字节序列,生成这些地址的每个可能的组合,并对每个组合进行反向替换,然后测试以查看结果文件是否可用和正确。换句话说,对于具有相当数量的潜在腐败网站的体积适中的文件,这将花费很长时间并且付出很多努力......尽管如此,对于较小的文件(如图标和什么)可能是可行的。 .. – twalberg 2014-11-03 17:19:37

回答

1

这取决于。什么样的转换完成了? (\r\n -> \n?或相反?)。如果图像真的很小,有一些成功恢复的可能性,但盲目地进行反向转换。参见例如fixgz。否则,你应该尝试所有的选择,这可以是很多。 PNG以固定长度块结构的事实可以提供帮助,但这需要一些工作。

+0

你是对的 - 能够找到,然后使用校验和可能会有所帮助。毕竟这可能很有趣。也许@cyn可以共享其中一个受损文件;我们至少可以做的就是看看它。 – usr2564301 2014-11-03 20:46:59

0

通常有太多的排列,例如,如果3974字节已被替换,则需要2^3974尝试计算出图像。在线查找相似的图像并进行模糊比较pctf要好得多。