python3中bytes和string之间的互相转换


Posted in Python onFebruary 09, 2017

前言

Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然).

python3.0中怎么创建bytes型数据

bytes([1,2,3,4,5,6,7,8,9])
bytes("python", 'ascii') # 字符串,编码

首先来设置一个原始的字符串,

Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> website = 'https://3water.com/'
>>> type(website)
<class 'str'>
>>> website
'https://3water.com/'
>>>

按utf-8的方式编码,转成bytes

>>> website_bytes_utf8 = website.encode(encoding="utf-8")
>>> type(website_bytes_utf8)
<class 'bytes'>
>>> website_bytes_utf8
b'https://3water.com/'
>>>

按gb2312的方式编码,转成bytes

>>> website_bytes_gb2312 = website.encode(encoding="gb2312")
>>> type(website_bytes_gb2312)
<class 'bytes'>
>>> website_bytes_gb2312
b'https://3water.com/'
>>>

解码成string,默认不填

>>> website_string = website_bytes_utf8.decode()
>>> type(website_string)
<class 'str'>
>>> website_string
'https://3water.com/'
>>>
>>>

解码成string,使用gb2312的方式

>>> website_string_gb2312 = website_bytes_gb2312.decode("gb2312")
>>> type(website_string_gb2312)
<class 'str'>
>>> website_string_gb2312
'https://3water.com/'
>>>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 Python
python实现2048小游戏
Mar 30 Python
Python实现命令行通讯录实例教程
Aug 18 Python
用python简单实现mysql数据同步到ElasticSearch的教程
May 30 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
Python操作word常见方法示例【win32com与docx模块】
Jul 17 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
Python操作Sonqube API获取检测结果并打印过程解析
Nov 27 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
Feb 26 Python
python生成并处理uuid的实现方式
Mar 03 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
Apr 29 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
python实现下载文件的三种方法
Feb 09 #Python
Python如何实现守护进程的方法示例
Feb 08 #Python
详解Python中表达式i += x与i = i + x是否等价
Feb 08 #Python
Python实现的多线程http压力测试代码
Feb 08 #Python
Python实现定时任务
Feb 08 #Python
python使用matplotlib绘制柱状图教程
Feb 08 #Python
Python实现简单的多任务mysql转xml的方法
Feb 08 #Python
You might like
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
php字符串操作常见问题小结
2016/10/11 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
jQuery中实现text()的方法
2019/04/04 jQuery
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
Python解析最简单的验证码
2016/01/07 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
Python爬虫教程知识点总结
2020/10/19 Python
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
JSF的标签库有哪些
2012/04/27 面试题
人事主管岗位职责
2014/01/30 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
施工安全责任书范本
2014/07/24 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
在Python 中将类对象序列化为JSON
2022/04/06 Python