python3 字符串str和bytes相互转换


Posted in Python onMarch 23, 2022

1.相关基础

python3中有两种字符串类型:strbytes

strunicode编码格式保存在内存

所以使用时,不用管前面要不要加u

(python2中需要考虑,不加u的话,在一些场合会报错)

#!/usr/bin/python3
str0="i am fine thank you"
 
print(type(str0))
print(str0)
 
str0=u"i am fine thank you"
 
print(type(str0))
print(str0)
 
# <class 'str'>
# i am fine thank you
# <class 'str'>
# i am fine thank you

定义byte类型时,在字符串前加b

#!/usr/bin/python3
str0=b"i am fine thank you"
 
print(type(str0))
print(str0)
 
# <class 'bytes'>
# b'i am fine thank you'

2.str和bytes相互转换

在文件传输过程中,通常使用bytes格式的数据流,而代码中通常用str类型,因此strbytes的相互转换就尤为重要。

2.1 bytes->str

#!/usr/bin/python3
 
bytes_data = b'this is a message'
print(type(bytes_data))
print(bytes_data)
 
# 方法一:
str_data = str(bytes_data, encoding='utf-8')
print(type(str_data))
print(str_data)
 
# 方法二:
str_data = bytes_data.decode('utf-8')
print(type(str_data))
print(str_data)
 
# <class 'bytes'>
# b'this is a message'
# <class 'str'>
# this is a message
# <class 'str'>
# this is a message

2.2 str->bytes

#!/usr/bin/python3
 
str_data = 'this is a message'
print(type(str_data))
print(str_data)
# 方法一:
bytes_data = bytes(str_data, encoding='utf-8')
print(type(bytes_data))
print(bytes_data)
# 方法二:
bytes_data = str_data.encode('utf-8')
print(type(bytes_data))
print(bytes_data)
 
# <class 'str'>
# this is a message
# <class 'bytes'>
# b'this is a message'
# <class 'bytes'>
# b'this is a message'

到此这篇关于python3 字符串str和bytes相互转换的文章就介绍到这了,更多相关python3 str与bytes内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现html转ubb代码(html2ubb)
Jul 03 Python
Python实现遍历数据库并获取key的值
May 17 Python
pygame播放音乐的方法
May 19 Python
python中私有函数调用方法解密
Apr 29 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
python分批定量读取文件内容,输出到不同文件中的方法
Dec 08 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
详解python中各种文件打开模式
Jan 19 Python
详解如何使用Pytest进行自动化测试
Jan 14 Python
pytorch实现ResNet结构的实例代码
May 17 Python
Python实现视频自动打码的示例代码
Apr 08 Python
对象析构函数__del__在Python中何时使用
详解Python内置模块Collections
Mar 22 #Python
Python中 range | np.arange | np.linspace三者的区别
Python中非常使用的6种基本变量的操作与技巧
python使用torch随机初始化参数
Mar 22 #Python
Django基础CBV装饰器和中间件
详解pytorch创建tensor函数
Mar 22 #Python
You might like
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
mysql5写入和读出乱码解决
2006/11/25 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
Python使用django搭建web开发环境
2017/06/09 Python
Django入门使用示例
2017/12/12 Python
Python下载网络小说实例代码
2018/02/03 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
详解django自定义中间件处理
2018/11/21 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
安装python及pycharm的教程图解
2019/10/10 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
如何设置Java的运行环境
2013/04/05 面试题
Servlet的生命周期
2013/08/25 面试题
大学生学习自我评价
2014/01/13 职场文书
工会换届选举方案
2014/05/21 职场文书
公证委托书标准格式
2014/09/11 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
英语演讲开场白
2015/05/29 职场文书
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL
PyTorch device与cuda.device用法
2022/04/03 Python