为什么Notepad ++能够正确显示ANSI编码中的非ASCII字符,但Sublime Text 2不能?

时间:2013-01-10 03:13:19

标签: encoding notepad++ sublimetext2

我在utepad ++和sublime text 2中使用utf-8作为新创建文件的默认编码。

在仅包含ASCII字符的notepad ++中创建一个新文件,保存并关闭它。 在记事本++中重新打开它,检查'编码'菜单,它是'用ANSI编码'。然后我将一些非ASCII字符(例如:中文)添加到文件并保存,它仍然是ANSI编码但正确显示(在Windows默认记事本中也正确),但是使用sublime text 2打开文件,出现乱码。

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

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

1 个答案:

答案 0 :(得分:3)

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

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