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之编写类之三子类
Oct 11 Python
python爬取各类文档方法归类汇总
Mar 22 Python
Python3基于sax解析xml操作示例
May 22 Python
学Python 3的理由和必要性
Nov 19 Python
Pytorch Tensor基本数学运算详解
Dec 30 Python
使用python 的matplotlib 画轨道实例
Jan 19 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
python实现数字炸弹游戏程序
Jul 17 Python
详解python变量与数据类型
Aug 25 Python
Python pickle模块常用方法代码实例
Oct 10 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
Python os和os.path模块详情
Apr 02 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 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
php对图像的各种处理函数代码小结
2013/07/08 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
python实现文本文件合并
2015/12/29 Python
Python实现的rsa加密算法详解
2018/01/24 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
Python3离线安装Requests模块问题
2019/10/13 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
Gap工厂店:Gap Factory
2017/11/02 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
房屋出售授权委托书
2014/10/12 职场文书
五一劳动节活动总结
2015/02/09 职场文书
搞笑老公保证书
2015/02/26 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
解决pytorch-gpu 安装失败的记录
2021/05/24 Python
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP
在 Python 中利用 Pool 进行多线程
2022/04/24 Python
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS