几个常见的字符编码关系图如下,建议搭配文字食用。
- 计算机只能识别0或1,以二进制的方式进行运算。但对于人来讲二进制的表示方式并不好记
- 所以便把二进制代表的意思编程一个表格,这个表格叫ASCII表,ASCII表用一个字节表示一个字符,共可以表示256个字符,且前128个字符固定,后128个供各国家自己定义。但对于汉字来讲,这明显是不够用的。
- 所以在1980推出了GB2312,一个可以表示简体中文的字符集,可以表示7445个字符,但明显还是不够用。
- 90年代又推出了GBK,可以表示简体和繁体中文。但对于地大物博的中国,这依旧不够用,因为还有一些少数民族的语言。
- 因此在00年又推出了GB18030,可以表示27484个字符,包含了简体繁体以及少数民族字符。并且规定每个字符可以由1个、2个或4个字节组成(不像ASCII固定只由一个字节表示)。
- 中文的字符集定义好了,其他国家也要定义自己的字符集,那就出现一个问题:大家的定义不一样,同一个二进制符号表达了不同的意思,导致了混乱。所以需要进行统一。这便有了Unicode,几乎包含了全世界的字符。
- UTF-8也是一个世界通用的字符编码表,与Unicode的区别在于,UTF-8规定英文采用ASCII表,以一个字节表示,中文则用3个字节表示;Unicode规定无论中文还是英文都用2个字节表示。