Windows记事本如何解释字符

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

我用三字节E3 81 81与一个Hexeditor制作了一个文件。 这些字节是编码为UTF-8的"ぁ"字符。

我打开记事本并显示"ぁ"

我没有指定文件的编码,我只是创build了字节。 记事本正确解释。

记事本猜测可能是什么编码? 或者是hex编辑器将这些字节保存为特定的编码。

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

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

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

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

记事本做出了有根据的猜测。 我不知道细节,但加载前几千字节,并试图从UTF-8转换它们是非常简单的,所以它可能会做类似的事情。

有一个简单有效的方法来检查文件是否是UTF-8。 参见Wikipedia: http : //en.wikipedia.org/w/index.php? title= UTF-8& oldid= 581360767#Advantage ,第四个要点。 记事本可能使用这个。

维基百科声称记事本使用了IsTextUnicode函数,该函数检查是否使用UTF-16(它可能已经停止在Windows Vista中使用它,修复了“布什隐藏事实”错误)编写的心室文本: http:// en。 wikipedia.org/wiki/Bush_hid_the_facts 。

如何识别文件是在哪个编码….?

转到文件并尝试(保存AS),您可以默认看到文件的编码(保存的编码格式)