Encoding 为什么记事本++;以ANSI编码正确显示非ASCII字符,但升华文本2无法?

Encoding 为什么记事本++;以ANSI编码正确显示非ASCII字符,但升华文本2无法?,encoding,notepad++,sublimetext2,Encoding,Notepad++,Sublimetext2,我在记事本++和升华文本2中使用utf-8作为新创建文件的默认编码 在记事本++中创建一个只包含ASCII字符的新文件,保存并关闭它。 在记事本++中重新打开它,检查“Encoding”菜单,它是“Encode in ANSI”。然后我向文件中添加一些非ASCII字符(例如:中文)并保存它,它仍然是ANSI编码,但显示正确(在Windows默认记事本中也是正确的),但打开文件时使用升华文本2,会出现混乱的代码 当使用升华文本2执行相同操作时,当输入非ASCII字符时,文件将自动转换为utf-8

我在记事本++和升华文本2中使用utf-8作为新创建文件的默认编码

在记事本++中创建一个只包含ASCII字符的新文件,保存并关闭它。 在记事本++中重新打开它,检查“Encoding”菜单,它是“Encode in ANSI”。然后我向文件中添加一些非ASCII字符(例如:中文)并保存它,它仍然是ANSI编码,但显示正确(在Windows默认记事本中也是正确的),但打开文件时使用升华文本2,会出现混乱的代码

当使用升华文本2执行相同操作时,当输入非ASCII字符时,文件将自动转换为utf-8


那么,为什么notepad++和sublime text 2的行为不同,为什么notepad++可以正确显示ANSI编码中的非ASCII字符呢?

ANSI不是一种编码,是一个非常模糊的术语。它通常表示Windows-1252或活动操作系统代码页,可能是ANSI/OEM简体中文(中国、新加坡);中文简体(GB2312)为您提供


升华文本2无法检测UTF-8、UTF-16和ASCII以外的编码。在这种情况下,默认的回退编码是Windows-1252,而不是活动的系统代码页。

这不是对他的问题的回答,他的问题是为什么Notepad++可以做到而Sublime不能?