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多线程用法实例详解
Jan 15 Python
python中__call__内置函数用法实例
Jun 04 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
Python实现的多项式拟合功能示例【基于matplotlib】
May 15 Python
Python并行分布式框架Celery详解
Oct 15 Python
python样条插值的实现代码
Dec 17 Python
Python中__repr__和__str__区别详解
Nov 07 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
May 27 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
如何给phpadmin一个保护
2006/10/09 PHP
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
js中数组插入、删除元素操作的方法
2017/02/15 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
import与export在node.js中的使用详解
2017/09/28 Javascript
Vue自定义属性实例分析
2019/02/23 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
上海微创软件面试题
2012/06/14 面试题
介绍下java.util.Arrays类
2012/10/16 面试题
卫校毕业生自我鉴定
2013/10/31 职场文书
留学推荐信怎么写
2014/01/25 职场文书
火车来了教学反思
2014/02/11 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
六年级作文之家庭作文
2019/12/12 职场文书