字符串和编码:
1.当处理文本时,需要现将文本转换为文字,一个字节为8位儿,一个字节最高表示整数255(1111 1111),对应255个状态;
最为人熟知的是ASCii码,ASCii码含128个状态,满足了英文编码转换的需要,但是中文,日文,等等,如果各国编各自的难免会撞车。这是为了统一,Unicode应运而生。又因为Unicode编码浪费内存,然利用Unicode的实现形式之一UTF-8(可变长编码)来表示节省内存。
Unicode 与UTF-8 有固定的转换规则。
2.ord()函数,获取字符的整数表示,chr()函数把编码转换为对应的字符;
len()函数计算str型的字符数,或计算bytes型的字节数。
3.python的字符串类型是str,在内存中以Unicode表示,一个字符表示若干字节。
如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。python对bytes类型的数用带b前缀的单引号或双引号表示:x=b‘ABC‘
>>> ‘ABC‘.encode(‘ascii‘) b‘ABC‘ >>> ‘中文‘.encode(‘utf-8‘) b‘\xe4\xb8\xad\xe6\x96\x87‘
>>> b‘ABC‘.decode(‘ascii‘) ‘ABC‘ >>> b‘\xe4\xb8\xad\xe6\x96\x87‘.decode(‘utf-8‘) ‘中文‘