【问题标题】:What happens when you save an exe file in a text editor?在文本编辑器中保存 exe 文件时会发生什么?
【发布时间】:2015-05-05 22:19:48
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 我回答了这个问题。如需更具体的答案,请附上您使用的文本编辑器和操作系统。

标签: text save editor exe executable


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    相关资源
    最近更新 更多