Python3中bytes类型转换为str类型

yipeiwu_com6年前Python基础

Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然)。

问题背景

基于URL解析报文的时候,URL链接出现str类型+bytes类型是报错TypeError,如何解决这个问题呢?

解决方案

方法一:利用str函数

方法二:利用bytes.decode()进行解码

测试代码如下:

# -*- coding: utf-8 -*-
"""
Created on Wed Sep 26 10:13:07 2018

任务:Python3 bytes类型转换为str类型

@author: 数据人陆勤
"""
b1 = b'Hello'
s1 = 'Hello'
print(type(b1))
print(type(s1))
# bytes类型转换为str类型
# 方法1 str()函数
s2 = str(b1, encoding="utf-8")
print(s2)
print(type(s2))
# 方法2 bytes.decode()函数
s3 = bytes.decode(b1)
print(s3)
print(type(s3))

测试结果如下:

总结

以上所述是小编给大家介绍的Python3中bytes类型转换为str类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Python OpenCV调用摄像头检测人脸并截图

本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如下 注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别...

python面向对象_详谈类的继承与方法的重载

python面向对象_详谈类的继承与方法的重载

1. 类的继承与方法的重载 上面就是先定义了一个类A,然后由定义了一个类B,B继承了类A,这样B就有了A的非私有属性和方法。 class Washer: company='...

利用Python中的mock库对Python代码进行模拟测试

 如何不靠耐心测试 通常,我们编写的软件会直接与那些我们称之为“肮脏的”服务交互。通俗地说,服务对我们的应用来说是至关重要的,它们之间的交互是我们设计好的,但这会带来我们不希望...

Python插入Elasticsearch操作方法解析

这篇文章主要介绍了Python插入Elasticsearch操作方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在用scrap...

Django中的Model操作表的实现

Django中的Model操作表的实现

Model 操作表 一、基本操作 # 增 models.Tb1.objects.create(c1='xx', c2='oo') #增加一条数据,可以接受字典类型数据 **kwar...