美文网首页饥人谷技术博客
论怎么会乱码和其他

论怎么会乱码和其他

作者: 白霁 | 来源:发表于2016-09-12 12:29 被阅读29次

    笔者在日常使用的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使用不同的规则来表示同一个代号。


    结束语

    由于笔者能力能力十分有限,文章都是在查阅百科以及阅读他人博客编纂而成,可能其中有缺陷的地方,请在下方留言指出。

    拓展阅读

    1. 字符编码笔记:ASCII,Unicode和UTF-8
    2. 各标题的维基百科链接
    3. Chrome打开网页显示乱码的解决方法

    本文章著作权归白小霁所有,转载须说明来源

    相关文章

      网友评论

        本文标题:论怎么会乱码和其他

        本文链接:https://www.haomeiwen.com/subject/yuepettx.html