目录

  • 一.前言
  • 二.Python str / bytes / unicode 区别
    • 1.Python2.x 版本中 str / bytes / unicode 区别
    • 2.Python3.x 版本中 str / bytes / unicode 区别
  • 三.Python string 与 bytes 相互转换
    • 1.string 经过编码 encode 转化成 bytes
    • 2. bytes 经过解码 decode 转化成 string
  • 四.猜你喜欢

零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门

一.前言

在讲解 str / bytes / unicode 区别之前首先要明白字节和字符的区别,请参考:bytearray / bytes / string 区别 中对字节和字符有清晰的讲解,最重要是明白:

  • 字符 str 是给人看的,例如:文本保存的内容,用来操作的;
  • 字节 bytes 是给计算机看的,例如:二进制数据,给计算机传输或者保存的;

二.Python str / bytes / unicode 区别

1.Python2.x 版本中 str / bytes / unicode 区别

在 Python2.x 版本中 str 跟 bytes 是等价的;值得注意的是:bytes 跟 unicode 是等价的,详情见下图

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python str / bytes / unicode 区别详解.py
@Time:2021/05/09 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""s1 = u"Hello, World!"
s2 = "Hello, World!"
print(type(s1))
print(type(s2))'''
输出:<type 'unicode'>
<type 'str'>
'''

2.Python3.x 版本中 str / bytes / unicode 区别

在 Python3.x 版本中 str 跟 unicode 是等价的;值得注意的是:bytes 跟 unicode 是不等价的,详情见下图

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python str / bytes / unicode 区别详解.py
@Time:2021/05/09 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""s1 = u"Hello, World!"
s2 = "Hello, World!"
print(type(s1))
print(type(s2))'''
输出:<class 'str'>
<class 'str'>
'''

三.Python string 与 bytes 相互转换

1.string 经过编码 encode 转化成 bytes

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python str / bytes / unicode 区别详解.py
@Time:2021/05/09 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""s = "www.codersrc.com"
#将字符串转换为字节对象
b2 = bytes(s,encoding='utf8') #必须制定编码格式
# print(b2)#方法一:字符串encode将获得一个bytes对象
b3 = str.encode(s)
#方法二:字符串encode将获得一个bytes对象
b4 = s.encode()
print(b3)
print(type(b3))
print(b4)
print(type(b4))'''
输出结果:b'www.codersrc.com'
<class 'bytes'>
b'www.codersrc.com'
<class 'bytes'>
'''

2. bytes 经过解码 decode 转化成 string

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python str / bytes / unicode 区别详解.py
@Time:2021/05/09 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""# 字节对象b2# 如果含有中文,必须制定编码格式,否则报错TypeError: string argument without an encodingb2 = bytes("猿说python", encoding='utf8')# 方法二:bytes对象decode将获得一个字符串s2 = bytes.decode(b2)# 方法二:bytes对象decode将获得一个字符串s3 = b2.decode()print(s2)print(s3)'''
输出结果:猿说python
猿说python
'''

四.猜你喜欢

  1. Python 条件推导式
  2. Python 列表推导式
  3. Python 字典推导式
  4. Python 不定长参数 *argc/**kargcs
  5. Python 匿名函数 lambda
  6. Python return 逻辑判断表达式
  7. Python is 和 == 区别
  8. Python 可变数据类型和不可变数据类型
  9. Python 浅拷贝和深拷贝
  10. Python 异常处理
  11. Python 线程创建和传参
  12. Python 线程互斥锁 Lock
  13. Python 线程时间 Event
  14. Python 线程条件变量 Condition
  15. Python 线程定时器 Timer
  16. Python 线程信号量 Semaphore
  17. Python 线程障碍对象 Barrier
  18. Python 线程队列 Queue – FIFO
  19. Python 线程队列 LifoQueue – LIFO
  20. Python 线程优先队列 PriorityQueue
  21. Python 线程池 ThreadPoolExecutor(一)
  22. Python 线程池 ThreadPoolExecutor(二)
  23. Python 进程 Process 模块
  24. Python 进程 Process 与线程 threading 区别
  25. Python 进程间通信 Queue / Pipe
  26. Python 进程池 multiprocessing.Pool
  27. Python GIL 锁

未经允许不得转载:猿说编程 » Python str / bytes / unicode 区别详解

Python str / bytes / unicode 区别详解 - Python零基础入门教程相关推荐

  1. pythonlist详解_零基础入门Python3-列表list详解

    list是一个有序的列表,比如:某个班级里面总共有5个学生,这些学生名字清单依次是:zhangsan.lisi.wangwu.meimei.huanhuan.这个名字清单就是一个有序的列表,给他们的名 ...

  2. pdf百度云下载 python编程 从数据分析到数据科学_python零基础入门教程,不同方向的,这很重要...

    很多人都在学python,对于大多数的人来说,方向最重要的,它决定着你的结果! ​编程小十接触过很多想学python的人,相对于自己的学习目的来说,很多时候容易选择不太正确的方向. 下面我简单介绍一下 ...

  3. 【数据结构之并查集】并查集详解(零基础入门,超级有趣的!!!)

    转的一个超级有意思,好懂的并查集解释, 膜拜大神~~ 故事读完,并查集就会了~~~~~ 江湖上散落着各式各样的大侠,有上千个之多.他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的 ...

  4. Python str 函数 - Python零基础入门教程

    目录 一.Python str 函数介绍 二.Python str 函数使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一 ...

  5. python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)

    一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...

  6. 视频教程-Python零基础入门教程-Python

    Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...

  7. Python零基础入门教程( 快速入门)

    前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...

  8. python中byte类型_详解python string类型 bytes类型 bytearray类型

    搜索热词 一.python3对文本和二进制数据做了区分.文本是Unicode编码,str类型,用于显示.二进制类型是bytes类型,用于存储和传输.bytes是byte的序列,而str是unicode ...

  9. python变量定义大全_详解python变量与数据类型

    这篇文章我们学习 Python 变量与数据类型 变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名访问.在 Python 中 变量命名规定,必须是大小写英文,数字 ...

最新文章

  1. [Google API](4)搜索结果
  2. 万字长文!Jeff Dean亲笔盘点谷歌AI 2019:纵横16大方向,汇集重要开源算法(附链接)...
  3. linux ln(link) 命令详解
  4. view bitmap 截图
  5. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导
  6. linux系统的ftp命令大全,linux系统ftp命令(示例代码)
  7. C++ 普通函数和模板函数调用规则
  8. Div+CSS布局入门教程(三) 页面顶部制作之一
  9. 开发问题---数据库字段前出现“—”(保存留用,仅供参考)
  10. 完全没法比!华为P40 Pro和iPhone 9宣传视频同曝光
  11. 新手学堂:Linux操作系统的启动步骤说明
  12. cnn输入层_基于 CNN 的文本分类算法
  13. 手机微商城可以安装到虚拟服务器,安装使用:百家CMS微商城系统安装教程(图文说明)...
  14. 创建oracle自增序列
  15. 鹏业安装算量软件功能按钮汇总(一)
  16. 高通APQ8074(骁龙800)处理器
  17. windows7 32位系统下好用的一款视频制作工具--Windows live影音制作
  18. 臭名昭著的Java”
  19. app启动速度优化实践
  20. JavaScript小白入门篇(二、高级语法之 BOM 详解)

热门文章

  1. 对 SolarWinds 事件更深的思考:如何防御供应链攻击
  2. 阿里云:构建全球企业内外安全网络最佳实践
  3. 从 DevOps 到 NoOps,Serverless 技术的落地方式探讨
  4. 阿里云物联网边缘计算加载MQTT驱动
  5. 关于SDN的未来,Linux基金会专访阿里云网络大神
  6. 10分钟上线 - 利用函数计算构建微信小程序的Server端
  7. 因为一个循环,CPU搞了个新技术
  8. 开源项目如何挣钱? Spark 商业化公司创始人曝光心路历程
  9. 终于有人把超融合和边缘计算说清楚了
  10. “刚毕业1年,做Python挣了60W!”网友:吹的不多..