Python bytes string相互转换过程解析


Posted in Python onMarch 05, 2020

一.bytes和string区别

1.python bytes 也称字节序列,并非字符。取值范围 0 <= bytes <= 255,输出的时候最前面会有字符b修饰;string 是python中字符串类型;

2.bytes主要是给在计算机看的,string主要是给人看的;

3.string经过编码encode,转化成二进制对象,给计算机识别;bytes经过解码decode,转化成string,让我们看,但是注意反编码的编码规则是有范围,\xc8就不是utf8识别的范围;

if __name__ == "__main__":
 # 字节对象b
 b = b"shuopython.com"
 # 字符串对象s
 s = "shuopython.com"
 print(b)
 print(type(b))
 print(s)
 print(type(s))

输出结果:

b'shuopython.com'
<class 'bytes'>
shuopython.com
<class 'str'>

二.bytes转string

string经过编码encode转化成bytes

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
 
@File:python_bytes_string.py
@Time:2020/2/26 21:25
 
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
if __name__ == "__main__":
 s = "shuopython.com"
 # 将字符串转换为字节对象
 b2 = bytes(s, encoding='utf8') # 必须制定编码格式
 # print(b2)
 
 # 字符串encode将获得一个bytes对象
 b3 = str.encode(s)
 b4 = s.encode()
 print(b3)
 print(type(b3))
 print(b4)
 print(type(b4))

输出结果:

b'shuopython.com'
<class 'bytes'>
b'shuopython.com'
<class 'bytes'>

三.string转bytes

bytes经过解码decode转化成string

if __name__ == "__main__":
 # 字节对象b
 b = b"shuopython.com"
 print(b)
 b = bytes("猿说python", encoding='utf8')
 print(b)
 s2 = bytes.decode(b)
 s3 = b.decode()
 print(s2)
 print(s3)

输出结果:

b'shuopython.com'
b'\xe7\x8c\xbf\xe8\xaf\xb4python'
猿说python
猿说python

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python的Django框架中加载模版的方法
Jul 16 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
Jun 30 Python
Python使用pymysql小技巧
Jun 04 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
python实现flappy bird游戏
Dec 24 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
python3 requests库文件上传与下载实现详解
Aug 22 Python
Python读写文件模式和文件对象方法实例详解
Sep 17 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
Django框架实现在线考试系统的示例代码
Nov 30 Python
Python 从attribute到property详解
Mar 05 #Python
Python+OpenCV实现图像的全景拼接
Mar 05 #Python
Python对象的属性访问过程详解
Mar 05 #Python
Python安装OpenCV的示例代码
Mar 05 #Python
opencv python在视屏上截图功能的实现
Mar 05 #Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
Mar 05 #Python
python如何将两张图片生成为全景图片
Mar 05 #Python
You might like
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
使用Vue实现一个树组件的示例
2020/11/06 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
英国运动风奢侈品购物网站:Maison De Fashion
2020/08/28 全球购物
企业文明单位申报材料
2014/05/16 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
社区国庆节活动总结
2015/03/23 职场文书
党支部对转正的意见
2015/06/02 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python