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自定义主从分布式架构实例分析
Sep 19 Python
python学习之面向对象【入门初级篇】
Jan 21 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
python2.7实现FTP文件下载功能
Apr 15 Python
pandas DataFrame实现几列数据合并成为新的一列方法
Jun 08 Python
Python实现的json文件读取及中文乱码显示问题解决方法
Aug 06 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
May 18 Python
python支持多线程的爬虫实例
Dec 21 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
python基于Kivy写一个图形桌面时钟程序
Jan 28 Python
Python+Selenium自动化环境搭建与操作基础详解
Mar 13 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 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的ob_start();控制您的浏览器cache!
2006/11/25 PHP
php-fpm配置详解
2014/02/12 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
JS去除字符串中空格的方法
2017/02/14 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
Python常用算法学习基础教程
2017/04/13 Python
Python遍历numpy数组的实例
2018/04/04 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
统计每一学生的平均成绩
2014/06/06 面试题
优秀毕业生推荐信
2013/11/02 职场文书
北体毕业生求职信
2014/02/28 职场文书
班组长竞聘书
2014/03/31 职场文书
大学生工作求职信
2014/06/23 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
开学第一周值周总结
2015/07/16 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android