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

Text 在文本编辑器中保存exe文件时会发生什么情况?,text,save,editor,exe,executable,Text,Save,Editor,Exe,Executable,很久以前,我记得在文本编辑器中打开一个可执行文件(.exe),并将其保存回硬盘。不用说,可执行文件没有打开 我的理解是,文件是一系列字节。对于文本文件,这些字节对字母进行编码。对于可执行文件,这些字节对指令进行编码 文本文件和可执行文件都只是一系列字节,我的理解是,这些字节的含义只取决于您如何解释它们。字符“a”可以是单词apple中的一个字母,也可以是合法程序编码中的一个字节,用于一些低级操作。同样,在文本文档的上下文中,程序的所有指令都可以解释为乱七八糟的字符 所以我的问题是,既然我在保存文

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

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

文本文件和可执行文件都只是一系列字节,我的理解是,这些字节的含义只取决于您如何解释它们。字符“a”可以是单词apple中的一个字母,也可以是合法程序编码中的一个字节,用于一些低级操作。同样,在文本文档的上下文中,程序的所有指令都可以解释为乱七八糟的字符

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


当我使用文本编辑器时,该文件会发生哪些具体变化,即使文件名和内容相同,也会导致该文件不再执行?

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

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

要进一步调查,请尝试使用文本编辑器或十六进制编辑器比较前后。你可能会发现一些线索,知道到底发生了什么变化。

我大体上回答了这个问题。要获得更具体的答案,请包括您使用的文本编辑器和操作系统。