*****************小技巧******************
if len(choice) == 0: continue #可以直接写在一行
***************Python 编码解码***************
二进制
------>ASCII:只能存英文和拉丁字符,一个字符占一个字节,8位
---------->gb2312:只能6700多个中文,1990
------------->gbk1.0: 存了2万多个字符,1995
---------------->gb18030:2000,27000中文
----------->unicode:utf-32:一个字符占4个字节
----------->unicode:utf-16:一个字符占2个字节或两个以上,65535
----------->unicode:utf-8:一个英文用ASCII码来存,占两个,一个中文占3个字节。现在使用
把自己的语言转成unicode叫编码encode
把unicode转成自己的语言叫解码decode
python 2 编码解码:
s= "特斯拉“
s_to_unicode = s.decode('utf-8') #utf-8转unicode 括号写你是谁
unicode_to_gbk = s_to_unicode.encode('gbk') #unicode转GBK 括号写你转换谁
gbk_to_unicode = unicode_to_gbk.decode('gbk')
in py3 文件默认编码是utf-8
s_to_gbk = s.encode('gbk')
Python3在编码的同时,会把数据转成bytes类型
在解码的同时,会把bytes类型转换成字符串
*b = byte = 字节类型 = [0-255]