python基础 python3中str和bytes
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础 python3中str和bytes相关的知识,希望对你有一定的参考价值。
str和bytes在python3中做了区分;bytes表示二进制字节、str表示文本字符串;文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,两者在混合使用的时候,需要编码转换
字符串和字节包之间的界线是必然的,字符串可以编码成字节包,而字节包可以解码成字符串,下面的图解非常重要,务请牢记于心:
举例:
>>>‘€20‘.encode(‘utf-8‘) # encode(参数)表示被转换之前的格式类型
b‘\\xe2\\x82\\xac20‘ # b表示是二进制格式
>>> b‘\\xe2\\x82\\xac20‘.decode(‘utf-8‘) #
‘€20‘
str->bytes:encode编码; 编码就是将字符串转换成字节码,涉及到字符串的内部表示。
bytes->str:decode解码; 解码就是将字节码转换为字符串,将比特位显示成字符。
在纯粹操作字符串类型的数据时,不需要考虑字符串和二进制的转换,只有在将字符串编码成字节包(例如,使用socket网络开发,在信道上发送它们;python3都是以二进制传输)或从字节包解码字符串(在编程时候,如果程序只能处理文本不能处理二进制,需要转换)时,我们才会开始关注这点。在计算机中,视频是以二进制格式存储、文本是以字符串格式存储(实际上也可以强制存储为二进制)。
以上是关于python基础 python3中str和bytes的主要内容,如果未能解决你的问题,请参考以下文章