python学习day07-编码解码

*****************小技巧******************

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]

*************************编码拾忆*************************

str:unicode编码

bytes:十六进制编码

str>>>>bytes:编码

bytes(s,'utf8')  转换成utf-8的bytes类型  ==s.encode('utf8')

bytes>>>>str : 解码

s=str(b2,'utf8') 转换成str类型(万国码)   ==b2.decode(‘utf8’)

posted @ 2020-02-08 20:52  小将博杨  阅读(175)  评论(0)    收藏  举报