Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。
文本总是Unicode,由**str**
类型表示;
二进制数据则由bytes
类型表示。
Python 3不会以任意隐式的方式混用str和bytes,这使得两者的区分特别清晰。你不能拼接字符串和字节包,无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。
Python创建bytes型数据:
bytes([1,2,3,4,5,6,7,8,9])
bytes("python", 'ascii') # 字符串,编码
设置字符串按**utf-8的方式编码,转成bytes**
>>> website = 'http://www.169it.com/os'
>>> type(website)
<class 'str'>
>>> website_bytes_utf8 = website.encode(encoding="utf-8") # encode方法
>>> type(website_bytes_utf8)
<class 'bytes'>
>>> website_bytes_utf8
>>>b'http://www.169it.com/os'