论怎么会乱码和其他
笔者在日常使用的sublime text 2,不知道为什么经常会跳出编码提示。也不知道为什么浏览页面的时候就出现乱码格式。所以就想写篇博客来记录一下。
WHY(为什么?)
短解释:
文档编码格式与解码格式不一致时,就会产生冲突使得出现乱码现象。
长解释:
其实很简单就是网页在编辑会声明文档的编码格式,而当页面在浏览器解析过程中,由于自动检测之后并没有使用正确的解码格式去解析文档,所以就乱码了。
HOW(解决)
在文档中设置好编码格式,浏览器在解析时候就能按相对应的解码格式解析了。所以在文档中要有这样的一句话
<meta charset="UTF-8">
编码
归根结底就是编码方式的问题。那么我们了解一些最常见的编码方式,毕竟字符编码是计算机的基石,想要熟练的使用计算机,就必须懂一点字符编码的知识。
1. ASCII
全称美国信息交换标准代码(American Standard Code for Information Interchange)的缩写,是基于拉丁字母的一套电脑编码系统。
背景:
上世纪60年代,美国指定了一套字符编码,对英语字符和二进制之间的关系做了统一的规定。这就是ASCII码。
原理:
我们都知道,在计算机内部,所有的信息最终都是用二进制的字符串存储。而每一个二进制位(bit)只有0和1两种状态,一字节需要用八个二进制位来表示,就可以组合出256种状态。
内容:
一共规定了128个字符的编码,比如空格"SPACE"是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。
2. UNICODE
背景:
后来计算机不断的发展拓展到了亚洲非洲,便出现了一个问题,如何用计算机使用的二进制表示这些语言。于是发明了UNICODE编码,只用两个字节(16位)就可以编码地球上几乎所有地区的文字,就像它的名字意思表示的一样。具体符号可以查unicode.org/,或是专门的汉字对应表。
3. UTF-8
UTF-8是Unicode的实现方式之一。
背景:
互联网的普及,强烈要求出现一种统一的编码方式。UTF-8就是在互联网上使用最广的一种Unicode的实现方式。
编码方式:
UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
4. GBK
背景:
93年,Unicode 1.1版本推出,收录了通用字符集的汉字,总共20902个。中国大陆订定了等同于Unicode 1.1的"GB 13000.1-93",只收录了6763个汉字,于是厂商微软利用GB 2312-80未使用的编码空间,收录GB 13000.1-93全部字符制定了GBK编码。
注:
UNICODE只是给字符一个代号,而GBK和UTF-8使用不同的规则来表示同一个代号。
结束语
由于笔者能力能力十分有限,文章都是在查阅百科以及阅读他人博客编纂而成,可能其中有缺陷的地方,请在下方留言指出。
拓展阅读
- 字符编码笔记:ASCII,Unicode和UTF-8
- 各标题的维基百科链接
- Chrome打开网页显示乱码的解决方法
本文章著作权归白小霁所有,转载须说明来源