02 字符集


一、常见字符集介绍

字符集基础知识:

计算机底层不可以直接存储字符的。计算机中底层只能存储二进制(0、1)

二进制是可以转换成十进制的

/*
11 = 1*2^1 + 1*2^0 = 2 + 1 = 3
10 = 1*2^1 + 0*2^0 = 2 + 0 = 2
01 = 0*2^1 + 1*2^0 = 0 + 1 = 1
00 = 0*2^1 + 0*2^0 = 0 + 0 = 0
01100001 = 97
01100010 = 98
*/

 结论:计算机底层可以表示十进制编号。计算机可以给人类字符进行编号存储,这套编号规则就是字符集。

ASCII字符集

ASCII(American Standard Code for information interchange,美国信息交换标准代码):包含了数字、英文、符号。

ASCII使用1个字节存储一个字符,一个字节是8位,总共可以表示128个字符信息,对于英文,数字来说是够用的。

/*
01100001 = 97 => a
01100010 =9 8 => b
 */

GBK:

● window系统默认的码表。兼容ASCII码表,也包含了几万个汉字,并支持繁体汉字以及部分日韩文字。

● 注意:GBK是中国的码表,一个中文以两个字节的形式存储。但不包含世界上所有国家的文字。

Unicode码表:

● unicode(又称统一码、万国码、单一码)是计算机科学领域里的一项业界字符编码标准。

● 容纳世界上大多数国家的所有常见文字和字符。

● 由于Unicode会先通过UTF-8,UTF-16,以UTF-32的编码二进制后再存储到计算机,其中最为常见的就是UTF-8。

注意:  

● Unicode是万国码,以UTF-8编码后一个中文一般以三个字节的形式存储。

● UTF-8也要兼容ASCII编码表。

● 技术人员都应该使用UTF-8的字符集编码。

● 编码前和编码后的字符集需要一致,否则会出现中文乱码。

汉字存储和展示过程解析