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读写文件方法总结
Jun 09 Python
python 实现红包随机生成算法的简单实例
Jan 04 Python
浅谈python中列表、字符串、字典的常用操作
Sep 19 Python
python实现周期方波信号频谱图
Jul 21 Python
PyCharm代码回滚,恢复历史版本的解决方法
Oct 22 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
Aug 09 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
手把手教你安装Windows版本的Tensorflow
Mar 26 Python
Scrapy 配置动态代理IP的实现
Sep 28 Python
Python xlwings插入Excel图片的实现方法
Feb 26 Python
python使用torch随机初始化参数
Mar 22 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
php xml留言板 xml存储数据的简单例子
2009/08/24 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
jquery ajax方式直接提交整个表单核心代码
2013/08/15 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
javascript跨域原因以及解决方案分享
2015/04/08 Javascript
完美解决js传递参数中加号和&amp;号自动改变的方法
2016/10/11 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
Python实现文件按照日期命名的方法
2015/07/09 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
python实现朴素贝叶斯算法
2018/11/19 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
小学生爱国演讲稿
2014/04/25 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
淘宝好评语句大全
2014/12/31 职场文书
导游词开场白
2015/01/31 职场文书
2015年教研组工作总结
2015/05/04 职场文书
SQL注入详解及防范方法
2021/12/06 MySQL
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android