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的主要内容,如果未能解决你的问题,请参考以下文章

python3基础知识

Python3基础 list str转成list

Python3基础 str format 输出花括号{}

Python3基础 str + 字符串变量拼接

Python3基础 str *运算 重复拼接字符串

Python3基础 str *运算 重复拼接字符串