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

What happens when you save an exe file in a text editor?

提问人:azoundria 提问时间:5/6/2015 更新时间:5/6/2015 访问量:1090

问:

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

我的理解是文件是一系列字节。对于文本文件,这些字节对字母进行编码。对于可执行文件,这些字节对指令进行编码。

文本文件和可执行文件都只是一系列字节,我的理解是,这些字节只有通过你如何解释它们才能被赋予意义。字符“a”可以是单词 apple 中的一个字母,也可以是编码某些低级操作的合法程序中的一个字节。同样,在作为文本文档的上下文中,程序的所有指令都可以解释为乱码字符。

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

当我使用文本编辑器导致它不再执行时,即使文件名和内容相同,这个文件有什么具体变化?

文本 保存 编辑器 exe 可执行文件

评论

0赞 Steven 5/6/2015
我笼统地回答了这个问题。有关更具体的答案,请包括您使用的文本编辑器和操作系统。

答:

3赞 Steven 5/6/2015 #1

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

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

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