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 26 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
Mar 14 Python
Python实现读取文件最后n行的方法
Feb 23 Python
Python读取文件内容的三种常用方式及效率比较
Oct 07 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 Python
对numpy下的轴交换transpose和swapaxes的示例解读
Jun 26 Python
解决Django连接db遇到的问题
Aug 29 Python
python数字类型math库原理解析
Mar 02 Python
Python闭包与装饰器原理及实例解析
Apr 30 Python
Python改变对象的字符串显示的方法
Aug 01 Python
Vs Code中8个好用的python 扩展插件
Oct 12 Python
只需要这一行代码就能让python计算速度提高十倍
May 24 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
PHP中的cookie
2006/11/26 PHP
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
关于php支持分块与断点续传文件下载功能代码
2014/05/09 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
基于jQuery的投票系统显示结果插件
2011/08/12 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
查看Django和flask版本的方法
2018/05/14 Python
python批量获取html内body内容的实例
2019/01/02 Python
Python基础教程之异常详解
2019/01/10 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
Django实现学生管理系统
2019/02/26 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
浅析Python requests 模块
2020/10/09 Python
日本航空官方网站:JAL
2019/06/19 全球购物
J2EE面试题
2016/03/14 面试题
《夜晚的实验》教学反思
2014/02/19 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
班组长安全工作职责
2014/07/15 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
导游欢迎词范文
2015/01/23 职场文书
张思德观后感
2015/06/09 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
Django+Celery实现定时任务的示例
2021/06/23 Python
索尼ICF-5900W收音机测评
2022/04/24 无线电