ASCII编码
学编程的时候,ASCII是最早介绍的字符编码.
标准ASCII使用7位二进制数,因为一个字节占8位,所以在第一位补0形成8位....对照ASCII码,7位一共128个字符,231明显超过了128,所以对于ASCII编码来说,它并不认识0xe7....这也说明了一个问题,由于ASCII编码长度很短,可以表示的字符有限,遇到中文或者其他字符,就需要其他编码来表示....举个栗子:
汉字鱼,用Unicode表示为十六进制的9c7c:
>>> u'鱼'
u'\u9c7c'
用二进制表示为1001 1100 0111 1100,一共16位,所以至少需要两个字节表示它....主要聊聊常见的UTF-8
UTF-8规则:
如果字符只有一个字节则其最高二进制位为0,后7位是字符的Unicode码.单字节的编码和ASCII一致
对于N字节(N>1),第一个字节前N位设为1,第N+1