常用编码格式介绍
我们一般常用的就以下几种编码格式:GBK,UTF-8以及Unicode等。
- GBK:是一种汉字编码规范,它扩展了GB2312编码标准,增加了更多的汉字和符号。GBK详解
- UTF-8:是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容。UTF-8详解
这里重点讲一下UTF-8带签名与不带签名的区别
有签名也就是带 BOM 信息,无签名就是不带 BOM。BOM,即 Byte Order Mark,也即字节流标记,它是用来让应用程序识别所用的编码的。因此在windows下面,控制台识别到BOM后便知道当前是采用UTF-8 的编码格式,便会按照UTF-8进行显示。(其中UTF-8的 BOM 是 0xEFBBBF)
中文乱码的原因
(以我本人为例:在日常工作中,虽然日常的代码调试在windows平台,但实际项目中需要在linux平台运行相关程序软件,因此相关的源代码都采用UTF-8编码)
由于linux平台一般默认编码格式都是UTF-8,而windows平台一般都是GBK编码格式。编码格式不统一势必会导致中文乱码的情况。