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教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
Apr 09 Python
Python fileinput模块使用实例
May 28 Python
ansible作为python模块库使用的方法实例
Jan 17 Python
python 性能优化方法小结
Mar 31 Python
基于pandas数据样本行列选取的方法
Apr 20 Python
pandas筛选某列出现编码错误的解决方法
Nov 07 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
深入了解Django View(视图系统)
Jul 23 Python
python3获取当前目录的实现方法
Jul 29 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
Jul 30 Python
Python实现迪杰斯特拉算法过程解析
Sep 18 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设计模式之代理模式的深入解析
2013/06/13 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
2013/08/16 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
linux下php上传文件注意事项
2016/06/11 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
NodeJS搭建HTTP服务器的实现步骤
2018/10/12 NodeJs
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
vue实现多组关键词对应高亮显示功能
2019/07/25 Javascript
Python备份Mysql脚本
2008/08/11 Python
python threading模块操作多线程介绍
2015/04/08 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
python 决策树算法的实现
2020/10/09 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
员工入职担保书范文
2014/04/01 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
运动会加油稿100字
2014/09/19 职场文书
单位租房协议书样本
2014/10/30 职场文书
2014年后勤工作总结
2014/11/18 职场文书
小学运动会加油词
2015/07/18 职场文书
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫
win7配置本地ftp服务器的图文教程
2022/08/05 Servers