utf-8,unicode,ansi解决方案有什么区别

如题所述

如果是为了跨平台兼容性,只需要知道,在 Windows 记事本的语境中:

所谓的「ANSI」指的是对应当前系统 locale 的遗留(legacy)编码。[1]

所谓的「Unicode」指的是带有 BOM 的小端序 UTF-16。[2]

所谓的「UTF-8」指的是带 BOM 的 UTF-8。[3]

GBK 等遗留编码最麻烦,所以除非你知道自己在干什么否则不要再用了。
UTF-16 理论上其实很好,字节序也标明了,但 UTF-16 毕竟不常用。
UTF-8 本来是兼容性最好的编码但 Windows 偏要加 BOM 于是经常出问题。

所以,跨平台兼容性最好的其实就是不用记事本。
建议用 Notepad++ 等正常的专业文本编辑器保存为不带 BOM 的 UTF-8。

另外,如果文本中所有字符都在 ASCII 范围内,那么其实,记事本保存的所谓的「ANSI」文件,和 ASCII 或无 BOM 的 UTF-8 是一样的。
温馨提示:答案为网友推荐,仅供参考
相似回答