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之入门(二)基本数据类型

简单的数据类型以及赋值 变量不需要声明 Python的变量不需要声明,你可以直接输入: 复制代码 代码如下:>>>a = 10 那么你的内存里就有了一个变量a, 它的值...

Python中的pygal安装和绘制直方图代码分享

Python中的pygal安装和绘制直方图代码分享

有关pygal的安装,大家可以参阅《pip和pygal的安装实例教程》。 直方图: 直方图是一个特殊的条,它可以取3个数值:纵坐标高度,横坐标开始和横坐标结束。 import pyg...

Python制作钉钉加密/解密工具

又是很久没有写技术博客了,盖因最近都在学习知识,也没有总结出什么值得分享的内容,所以一直停笔至今。最近的工作和钉钉的开发打上了交到,官方并没有提供任何Python的SDK,于是只能全部自...

解决pandas.DataFrame.fillna 填充Nan失败的问题

如果单独是 >>> df.fillna(0) >>> print(df) # 可以看到未发生改变 >>> print(d...

python 多个参数不为空校验方法

在实际开发中经常需要对前端传递的多个参数进行不为空校验,可以使用python提供的all()函数 if not all([arg1, arg2, arg3]): # 当 arg1,...