各种环境下的编码
1)操作系统的默认编码方式
这是操作系统的内部属性,比如大多数Linux系统、Mac OS默认UTF-8编码,中文版Windows系统默认GBK编码。
2)终端的编码方式
终端包括cmd、shell、terminal等,在与终端交互时,字符是要在终端显示的,这必然涉及到终端采用的编码方式,事实上有不少bug是在这个层面上产生的。对于单机系统而言,终端编码与操作系统的编码一般是一致的,但在远程登录时,可能会遇到一些问题。
在windows中查看代码页的方法:cmd中输入chcp。
在Linux中查看代码页的方法:在终端中输入locale 。
代码页是字符集编码的别称
下图是本人在win10(英文版)中的演示:(bash为win10中自带的linux子系统)
3)文本文件的编码方式
这是我们接触最多的概念,即一个文本文件(如源代码文件)是以什么编码格式保存的。大多数编码器可以显示文本的编码格式,以及更改编码方式重新存储。
4)程序中的字符、字符串变量的编码方式
这与具体的编程语言相关,涉及到程序运行时变量在内存中的状态。