ANSI,UTF-8,UTF-8无BOM,ANSI as UTF-8

同一个文件,在Windows下,与在Ubuntu下为何显示的编码格式不同?

不同的编码格式为何在Eclipse,SourceInsight,Git有些能显示,有些不能?

最近工作中遇到的问题,带着种种疑问,逐步来揭秘.

1.UFT-16都是通用的,只要系统/工具支持,就能正常显示,无论是在哪个系统之下.

2.Windows的默认编码格式是ANSI.(对于简体中文版本Windows来说就是GBK/GB2312)

Ubuntu的默认编码格式是UTF-8无BOM,即Notepad++所识别成的ANSI as UTF-8

1

在Windows中新建一个纯英文的ANSI编码格式的文件 在Ubuntu中Gedit会显示为UTF-8 正常显示

2

在Windows中新建一个中英文的ANSI编码格式的文件 在Ubuntu中Gedit会提示错误,选择编码后显示GB2312 使用GBK格式打开正常

3

在Ubuntu中新建一个纯英文的UTF-8编码格式的文件 在Windows中用Notepad++打开会显示为ANSI 正常显示

4

在Ubuntu中新建一个中英文的UTF-8编码格式的文件 在Windows中用Notepad++打开会显示为ANSI  as UTF-8,

即UTF-8无BOM正常显示

3.总结

1

纯英文文本 ANSI = UTF-8无BOM = ANSI as UTF-8,

2

含有中文的文本 ANSI,UTF-8,之间需要显示的转换才能正常显示

对于Android代码,最好还是用UTF-8无BOM的形式来存储,在系统切换时更方便.在各个开发工具之间也都能正常显示,SourceInsight除外

Leave a Reply

Your email address will not be published. Required fields are marked *