1.1 ASCII字符集
包括了数字、字母、英文符号、控制字符(负责换行、回车、等特殊的控制功能)
码点
每个字符都有一个对应的数字,叫做码点
字符集
标准所支持的所有字符及其对应码点的集合叫做字符集。上图即ASCII字符集
编码
从字符到计算机能够储存的内容之间的映射叫做编码
1.2 乱码的出现
标准不统一时,乱码问题也随之产生。
因为计算机内存里的同一个数字在不同字符集里代表的可能是完全不同的字符
1.3 UNICODE字符集
Unicode的每个字符也有对应码点
许多语言都有查询Unicodo字符码点的内置函数
比如Python的ord函数
1.4 字符集
只是字符及字符对应码点的集合
不代表字符一定会以对应码点被储存在计算机里
字符编码才是真正定义了从字符到计算机储存内容的映射
UTF-32编码
那最简单的编码规则自然就是把字符对应的码点直接以二进制储存在计算机里
UTF-32编码针对Unicode这样做的
(之前了解的ASCII编码也是针对ASCII字符集这样做的)
比较耗存储空间,都拿来放0了
英文:4倍
中文:2倍
1.5 UTF-8编码
UTF-8是针对Unicode的可变长度编码
不同于编码后长度固定为32比特的UTF-32,UTF-8针对不同字符编码后的长度可以是32比特、24比特、16比特、8比特
此处x,y,z,w占位符均表示0或1