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中的条件判断语句基础学习教程
Feb 07 Python
Python在Console下显示文本进度条的方法
Feb 14 Python
Python的消息队列包SnakeMQ使用初探
Jun 29 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
python在非root权限下的安装方法
Jan 23 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 Python
Python实现直方图均衡基本原理解析
Aug 08 Python
Python with语句用法原理详解
Jul 03 Python
python正则表达式 匹配反斜杠的操作方法
Aug 07 Python
pycharm激活方法到2099年(激活流程)
Sep 22 Python
让你相见恨晚的十个Python骚操作
Nov 18 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
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
用户注册常用javascript代码
2009/08/29 Javascript
javascript处理table表格的代码
2010/12/06 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
2016/03/31 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
vue弹窗插件实战代码
2018/09/08 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
Python的Bottle框架中获取制定cookie的教程
2015/04/24 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
JAVA高级程序员面试题
2013/09/06 面试题
重点工程汇报材料
2014/08/27 职场文书
男方家长婚礼答谢词
2015/09/29 职场文书
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL