在文本编辑器中保存exe文件时会发生什么?

时间:2015-05-05 22:19:48

标签: text save editor exe executable

很久以前我记得在文本编辑器中打开一个可执行文件(.exe),并将其保存回硬盘。不用说,可执行文件没有打开。

我的理解是文件是一系列字节。在文本文件的情况下,这些字节编码字母。在可执行文件的情况下,这些字节编码指令。

文本文件和可执行文件都只是一系列字节,我的理解是这些字节只是按照你解释它们的方式给出的。字符'a'可以是单词apple中的字母,或者是编码某些低级操作的合法程序中的一个字节。同样,程序的所有指令都可以在文本文档的上下文中被解释为乱码。

所以我的问题是,为什么,因为我在保存之前没有更改文件中的任何内容,它将不再作为程序工作。字节序列不应该完全相同吗?

当我使用文本编辑器导致它不再执行时,即使文件名和内容相同,该文件的具体更改是什么?

1 个答案:

答案 0 :(得分:3)

这可能是由于许多因素造成的,包括:

  • 并非所有字符都可打印。不可打印的字符可能无法正确保存。
  • 默认情况下,某些文本编辑器会确保文件以换行符结尾(即:vi)。
  • 即使一个字符发生意外更改也可能使程序不再是有效的可执行文件。
  • 某些文本编辑器会将换行符更改为操作系统默认值。
  • 自动更正可能会无意中更改字符。
  • 如果文件以不同的编码保存,则字符可能会以不同方式保存。

要进一步调查,请尝试使用文本编辑器或十六进制编辑器比较之前和之后。您可能会发现实际变化的线索。