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中空格字符串处理的技巧总结
Aug 10 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
MAC中PyCharm设置python3解释器
Dec 15 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
Python基于opencv调用摄像头获取个人图片的实现方法
Feb 21 Python
Python 监测文件是否更新的方法
Jun 10 Python
python实现串口自动触发工作的示例
Jul 02 Python
python实现单链表的方法示例
Sep 03 Python
python tkinter控件布局项目实例
Nov 04 Python
Python socket实现的文件下载器功能示例
Nov 15 Python
Python修改列表值问题解决方案
Mar 06 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
Jun 21 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
PHP开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
慎用 somefunction.prototype 分析
2009/06/02 Javascript
模仿jQuery each函数的链式调用
2009/07/22 Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
jQuery多选框选择数量限制方法
2017/02/08 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
2018/11/02 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
Python gevent协程切换实现详解
2020/09/14 Python
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
教育专业自荐书范文
2013/12/17 职场文书
趣味活动策划方案
2014/02/08 职场文书
领导接待方案
2014/03/13 职场文书
岗位职责说明书模板
2014/07/30 职场文书
评职称个人总结
2015/03/05 职场文书
关于开学的感想
2015/08/10 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
MySQL GTID复制的具体使用
2022/05/20 MySQL