ASCII编码
学编程的时候,ASCII是最早介绍的字符编码.
标准ASCII使用7位二进制数,因为一个字节占8位,所以在第一位补0形成8位....对照ASCII码,7位一共128个字符,231明显超过了128,所以对于ASCII编码来说,它并不认识0xe7....这也说明了一个问题,由于ASCII编码长度很短,可以表示的字符有限,遇到中文或者其他字符,就需要其他编码来表示....比如中文,上万个汉子需要表示,仅用1个字节表示$2^8$个字符是不够的.所以像GB2312就是使用两字节表示一个汉字,一共$2^8$ * $2^8$ = 65536个
Unicode编码
因为存在不同的编码...主要聊聊常见的UTF-8
UTF-8规则:
如果字符只有一个字节则其最高二进制位为0,后7位是字符的Unicode码.单字节的编码和ASCII一致
对于N字节(N>1),第一个字节前N位设为1,第N+1