2

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

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

当使用 sublime text 2 做同样的事情时,当输入非 ASCII 字符时,文件会自动转换为 utf-8。

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

4

1 回答 1

2

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

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

于 2013-01-10T04:14:59.577 回答