写txt文档时无意间出现了中文乱码,折腾一番后才知道是文件编码格式的不对引起的。为此对文件编码做了简单的了解。网上写的全的是这篇博客:
此外我需要补充一些内容,使用windows自带的记事本保存文本文件时默认是ANSI编码格式,当然可以选择保存为其它格式,每个格式的不同在上面的博客中写的很清楚,不过UTF8格式比较特殊,微软的windows系统在保存utf8编码时默认在文件头部加了BOM,而且是默认添加,没有专门显示出来,而其它系统上默认不加,比如Linux系统就不加。因此跨平台传送文本文件时需要注意这个隐藏的细节。BOM不清楚的可以自行搜索,这个答案容易找到。
为了避免文本文件出现乱码,推荐的作法是使用文本编辑器保存文件而不是记事本,以我常用的sublime Text
为例子,保存文件时可以直接保存,此时的文本格式为默认格式,而默认格式是可以在软件设置中进行修改,下面是系统默认的设置,可以自己手动修改默认设置。 "default_encoding":
“UTF-8”。如果不想修改默认设置也可以,选择File->Save With Econding
,这里的格式非常丰富,而且对于有没有BOM也有明确的说明。
此外,在sublime Text为例子中建议修改默认设置: "show_encoding": true
,默认为false,修改为true就可以,这样可以在软件最下方的状态栏中显示当前文件的编码格式。这点AndroidStudio做的比较好,文件编码格式默认处于显示状态,而且还显示不同平台下的换行符格式。