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简单进程锁代码实例
Apr 27 Python
Python遍历numpy数组的实例
Apr 04 Python
浅谈Pandas 排序之后索引的问题
Jun 07 Python
python中csv文件的若干读写方法小结
Jul 04 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
详解Django-channels 实现WebSocket实例
Aug 22 Python
python函数修饰符@的使用方法解析
Sep 02 Python
python中如何实现将数据分成训练集与测试集的方法
Sep 13 Python
Pytorch的mean和std调查实例
Jan 02 Python
pygame实现飞机大战
Mar 11 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 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
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
php+ajax实现图片文件上传功能实例
2014/06/17 PHP
PHP实现的简易版图片相似度比较
2015/01/07 PHP
php实现短信发送代码
2015/07/05 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
IE8 原生JSON支持
2009/04/13 Javascript
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
解析JavaScript中的标签语句
2013/06/19 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
[45:38]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第一局
2016/03/02 DOTA
详解python进行mp3格式判断
2016/12/23 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
python图形工具turtle绘制国际象棋棋盘
2019/05/23 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
keras.layer.input()用法说明
2020/06/16 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
施工安全协议书
2013/12/11 职场文书
物流业务员岗位职责
2014/02/08 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
项目合作协议书范本
2014/04/16 职场文书
户籍证明模板
2014/09/28 职场文书
教师读书活动心得体会
2016/01/14 职场文书
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python