这种现象一直让我有疑问要问。
这是详细的实验,我的操作系统是Windows 7 x64 SP1:
- 我仅通过更改扩展名将图片(JPG)文件更改为TXT(或者可以选择使用记事本打开JPG,也是一样)
它看起来应该像这样,奇怪的文本序列,其中一些(非常稀有)实际上是有意义的,例如“创建者:dg-jpeg v1.0 ...”下面的屏幕截图。
- 我禁用了换行功能,并使用Ctrl + A选择了所有文本(以确保没有遗漏任何内容)
- 我将复制的文本粘贴到另一个空白TXT文件中,并将其另存为JPG,然后将新文件的大小与原始JPG进行了比较。所有这些文件(原始JPG,转换后的TXT文件和新创建的TXT文件)的大小完全相同,以字节为单位。
当我尝试打开时,Windows会说“ Windows Photo Viewer无法打开该图片,因为该文件似乎已损坏,损坏或太大”。
我什至尝试使用另一种方法对其进行测试:用记事本打开JPG,从易于记忆的位置剪切了一个已知字符(例如第二行的第一个字符),然后保存了文件。观众当然会显示相同的消息。然后我再次打开它,并将字符粘贴到EXACT位置(记事本记得它的退出状态,例如Windows位置,换行,字体大小...所以我没问题,就可以了)
并且仍然是相同的错误。您可以尝试使用此方法来获得创意,请记住选择一张小图片,否则记事本会像个生锈的老男人。
造成这种现象的原因可能是什么?
C:\blah>fc file1 file2
文件大小可能相同但不同。(尽管通常情况下,某些随机更改通常不会使文件保持相同大小,但很容易做到)。fc命令对于调查正在发生的情况将非常有用。您也可以使用xxd命令,该命令在cygwin中,并且也随vim7一起提供。xxd -p file1将转储文件的十六进制。您可以将两个文件的十六进制分别与that和fc进行比较。甚至在记事本中打开十六进制,然后使用alt-tab在两个记事本窗口之间滑动。