ASCII编码
学编程的时候,ASCII是最早介绍的字符编码.
标准ASCII使用7位二进制数,因为一个字节占8位,所以在第一位补0形成8位....举个栗子:
在ASCII编码中,字母A的表示为:
二进制: 0100 0001
十进制: 65
十六进制: 0x41
所以看前面的问题:0xe7是什么?...对照ASCII码,7位一共128个字符,231明显超过了128,所以对于ASCII编码来说,它并不认识0xe7....这也说明了一个问题,由于ASCII编码长度很短,可以表示的字符有限,遇到中文或者其他字符,就需要其他编码来表示....填入顺序是从低字节开始填,到高字节填不满的补0
用代码验证一下:
>>> u'鱼'.encode('utf-8')
'\xe9\xb1\xbc'
了解了UTF-8,再回看之前的Bug:0xe7的二进制是