Windows记事本如何解释字符

nEA*_*nam 8 windows encoding notepad hex-editors utf-8

我想知道windows如何解释字符,例如:

我使用带有3个字节的Hexeditor创建了一个文件E3 81 81.这些字节是"?"编码为UTF-8 的字符.

我打开记事本然后显示出来 "?"

我没有指定文件的编码,我只是创建了字节.并且记事本正确地解释了它.

记事本猜测编码可能是什么?或者是十六进制编辑器使用特定编码保存这些字节.

Guf*_*ffa 5

如果文件仅包含这三个字节,则根本没有有关使用哪种编码的信息。

字节只是一个字节,无法在其中包含任何编码信息。此外,十六进制编辑器甚至不知道您打算将数据解码为文本。

记事本通常使用ANSI编码,因此,如果它以UTF-8格式读取文件,则必须根据文件中的数据猜测编码。

如果将文件另存为UTF-8,则记事本会将BOM(字节顺序标记)EF BB BF放在文件的开头。

  • @Guffa,这个答案是错误的伙计。他用 HxD 创建了这个文件。该文件**只有 3 个字节**,没有 BOM。然而,记事本没有用 ASCII 文本打开它,它用 UTF8 文本打开它?记事本怎么知道这个? (2认同)