在py3中只有两种数据类型:str bytes
str: 存unicode(万国码)编码--全球通用的
bytes:存的是16进制的
1.str
s='ehllo 丽庆' ---》它存在内存中存都是unicode的编码
2.bytes(010101010计算机认识的)
存在磁盘,网络传输等都是bytes类型---因为bytes类型离底层更近---计算机能认识它。
3.由str---->>转bytes类型就叫编码
怎么转?
--------bytes()方法
s='ehllo 丽庆'
b1=bytes(s,’utf8’)-----把s转成utf8的bytes类型
##每个国家都有自己的一种bytes类型,但utf8是世界公认的好用
bytes(s,’gbk’)-----把s转成gbk的bytes类型
##gbk是咱中国的汉字bytes类型
------encode()内置方法
b2=s.encode(‘utf8’)-----把s转成utf8的bytes类型
b2=s.encode(‘gbk’)-----把s转成gbk的bytes类型
4.由bytes---》到str叫解码
怎么转?
-----str()内置法
s=str(b2,’gbk’)---把b2改成gbk的bytes类型
#用什么bytes类型的编码就用什么bytes类型的解码
----decode()方法
s2=b2.decode(‘gbk’)
注:由str转成bytes类型得有个规则(utf/gbk/.....)