一、基本概念 1)编码:把字符串str转换成用于存储或传输的字节序列bytes 2)解码:把字节序列bytes转换成人类可读的文本字符串str 二、python3里面内置了两种基本数据类型:
1)str 数据类型----以unicode(万国码)编码存储 2)bytes 数据类型----以十六进制形式存储 三、编码解码方式: 由于socket通信的发送和接收都只接收bytes类型数据,而实际传过去的可能是str类型,所以系统需要对数据进行编码和转码 1)str>>>bytes:编码 方法1:字符串数据.encode(编码规则) eg: s=“hello” bt=s.encode("utf-8") #采用utf8编码规则将str类型数据转换为byte类型数据 方法2:bytes(字符串数据,编码规则) eg: s="hello" bt=bytes(s,"utf8") #采用utf8编码规则将str类型数据转换为byte类型数据
2)bytes>>>str:解码 方法1:字符串数据.decode(编码规则) eg: bt=bytes("welcome 袁","utf8") s=bt.decode("utf-8") #采用utf8编码则对应解码也应该采用utf8.否则会出现解码错误情况 方法2:str(bytes类型数据,编码规则) eg: bt=bytes("welcome 袁","utf8") s=str(bt,"utf8") #采用utf8编