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 22 Python
Python中map,reduce,filter和sorted函数的使用方法
Aug 17 Python
python深度优先搜索和广度优先搜索
Feb 07 Python
Django框架实现逆向解析url的方法
Jul 04 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
使用celery执行Django串行异步任务的方法步骤
Jun 06 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
Python Pandas 箱线图的实现
Jul 23 Python
python编写微信公众号首图思路详解
Dec 13 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
Dec 28 Python
关于python中readlines函数的参数hint的相关知识总结
Jun 24 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/08/08 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
Firefox div高度自适应
2009/04/28 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
浅谈js原生拖放
2016/11/21 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
python多线程用法实例详解
2015/01/15 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python+django加载静态网页模板解析
2017/12/12 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
异常和异常类的概念
2014/09/12 面试题
个人生活学习自我评价范文
2013/11/26 职场文书
大学生学业生涯规划
2014/01/05 职场文书
《第一次抱母亲》教学反思
2014/04/16 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
演讲开场白和结束语
2015/05/29 职场文书