Character encoding 为什么记事本将此文件显示为非拉丁1编码?

Character encoding 为什么记事本将此文件显示为非拉丁1编码?,character-encoding,Character Encoding,我有一个名为data.txt的4字节长的文件,包含以下内容(四个8位十六进制格式的值): 31093109 当我在记事本(以及Ultra Edit Studio)中打开此文件时,它会显示一个正方形,而不是预期的:11 根据什么逻辑,前导31 09会被解释为非拉丁字符集的指示?简短的回答是记事本猜测编码,并且经常猜错。关于这一点有很多讨论,;例如,谷歌的记事本字符编码。很难说在每一种具体情况下,为什么猜测是错误的。此外,情况因Windows版本而异,也可能取决于其他因素。在我的环境(Win7,芬兰

我有一个名为data.txt的4字节长的文件,包含以下内容(四个8位十六进制格式的值):

31093109

当我在记事本(以及Ultra Edit Studio)中打开此文件时,它会显示一个正方形,而不是预期的:
11


根据什么逻辑,前导31 09会被解释为非拉丁字符集的指示?

简短的回答是记事本猜测编码,并且经常猜错。关于这一点有很多讨论,;例如,谷歌的记事本字符编码。很难说在每一种具体情况下,为什么猜测是错误的。此外,情况因Windows版本而异,也可能取决于其他因素。在我的环境(Win7,芬兰版本)中,不会出现特定的问题:具有这四个字节的文件通常在记事本中打开


如果知道文件的编码,请启动记事本,发出打开命令,然后从下拉菜单中选择编码。如果记事本不支持编码,请使用其他编辑器。

为什么“一个正方形”等同于拉丁字母1?也许你的编辑器在猜测正确的编码方面太糟糕了?我猜是单正方形,因为编辑器把前2个字节当作编码指示符(我猜是UTF-16),然后把最后2个字节当作unicode字符,它可能无法显示,因此是正方形。我认为记事本(WinXP 32位)在猜测方面很糟糕,但由于UEStudio也这么做,我怀疑这可能是一种合法的行为。