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获取单个程序CPU使用情况趋势图
Mar 10 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
Apr 10 Python
python之从文件读取数据到list的实例讲解
Apr 19 Python
利用pandas将numpy数组导出生成excel的实例
Jun 14 Python
python如何生成网页验证码
Jul 28 Python
详解python运行三种方式
May 13 Python
使用浏览器访问python写的服务器程序
Oct 10 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 Python
Flask中sqlalchemy模块的实例用法
Aug 02 Python
python在一个范围内取随机数的简单实例
Aug 16 Python
pytorch 计算Parameter和FLOP的操作
Mar 04 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
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
常见的python正则用法实例讲解
2016/06/21 Python
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
Python基于当前时间批量创建文件
2020/05/07 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
安全生产管理合理化建议书
2014/03/12 职场文书
党员公开承诺书和承诺事项
2014/03/25 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
后勤个人工作总结
2015/02/28 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
MySQL系列之三 基础篇
2021/07/02 MySQL
Redis基本数据类型List常用操作命令
2022/06/01 Redis