04-字符集

编码:将一个字符映射成一个二进制数据的过程叫做编码;
解码:将一个二进制数据映射到一个字符的过程叫做解码。

1、ASCII

共收录128个字符,包括空格、标点符号、数字、大小写字母和一些不可见字符。由于总共才128个字符,所以可以使用1个字节来进行编码

2、ISO 8859-1

共收录256个字符,是在 ASCII 字符集的基础上又扩充了128个西欧常用字符(包括德法两国的字母),也可以使用1个字节来进行编码。

3、GB2312

收录了汉字以及拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母。其中收录汉字6763个,其他文字符号682个。同时这种字符集又兼容 ASCII 字符集。
	如果该字符在 ASCII 字符集中,则采用1字节编码。
	否则采用2字节编码。

4、GBK

GBK 字符集只是在收录字符范围上对 GB2312 字符集作了扩充,编码方式上兼容 GB2312 。

5、Unicode

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000至0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

6、UTF8

收录地球上能想到的所有字符,而且还在不断扩充。这种字符集兼容 ASCII 字符集,采用变长编码方式,编码一个字符需要使用1~4个字节

7、MySQL中的utf8和utf8mb4

在 MySQL 中 utf8 是 utf8mb3 的别名,在 MySQL 中提到 utf8 就意味着使用1~3个字节来表示一个字符;
如存储一些emoji表情啥的,那请使用 utf8mb4 ;
	utf8mb3 :阉割过的 utf8 字符集,只使用1~3个字节表示字符。
	utf8mb4 :正宗的 utf8 字符集,使用1~4个字节表示字符。

猜你喜欢

转载自blog.csdn.net/rookie__zhou/article/details/111084406