python3 中bytes与str类型

Posted Guan_zi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 中bytes与str类型相关的知识,希望对你有一定的参考价值。

python3最重要的新特性之一就是对字符串和二进制流做了明确的区分。文本总是unicode,由str类型表示用于显示。二进制则是由bytes类型表示,用于存储和传输。bytes是byte的序列,而str是unicode的序列。Python3不会以任意隐式的方式混用str和bytes,不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然)。也不能将字符串传入参数为字节流的函数(反之亦然)。

str与bytes之间的转换关系:str-->encode()-->bytes--->decode()--->str

转换方式1:encode() ,decode()

使用encode() decode()转换数据类型,时编码以解码时必须使用相同的字符编码,否则出现乱码错误。

 

转换方式2:bytes()  , str()

 不同编码类型的转换

文本默认编码类型为Unicode,各种编码类型的转换必须先解码decode()为Unicode,然后再通过encode()编码转换为所需类型编码。通过encode() decode()在各种编码如utf-8 \\gbk等之间进行相互转换。常见乱码错误,多是由于打开解码方式与文件编码方式不同造成的。

尚存疑问!!!

http://blog.csdn.net/xfyangle/article/details/60969522

以上是关于python3 中bytes与str类型的主要内容,如果未能解决你的问题,请参考以下文章

python3.5 Str类型与bytes类型转换

Django之Form组件与验证规则

python3.x中str,bytes类型相关转化

python2 与python3中最大的区别(编码问题bytes&str

Python3 中的 str 和 bytes

Python学习-str与byte类型以及编码