代码改变世界

Python bytes数据类型

2018-04-10 20:53  钱先生  阅读(368)  评论(0编辑  收藏  举报

 

Python3 中文本是Unicode, 由str类型表示. 二进制数据由bytes类型表示(如视频文件).

Python3 不会以任意隐式的方式 滥用str和bytes, 所以不能拼接字符串和字节包.也无法在字节包里搜索字符串(反之亦然), 也不能将字符串传入参数为字节包的函数(反之亦然).

 

字符串可以编码成字节包,而字节包可以解码成字符串.

解码和编码都要声明码表.如果没有声明,就用utf-8(源码里规定的).

 

1 msg = "我爱北京天安门"
2 print(msg)
3 print(msg.endcode)
4 
5 print(msg.encode(encoding="utf-8"))
6 
7 print(msg.encode(encoding="utf-8")).decode()
8 print(msg.encode(encoding="utf-8")).decode(encoding="utf-8")