Python str / bytes / unicode 区别详解 - Python零基础入门教程
目录
- 一.前言
- 二.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
'''
四.猜你喜欢
- Python 条件推导式
- Python 列表推导式
- Python 字典推导式
- Python 不定长参数 *argc/**kargcs
- Python 匿名函数 lambda
- Python return 逻辑判断表达式
- Python is 和 == 区别
- Python 可变数据类型和不可变数据类型
- Python 浅拷贝和深拷贝
- Python 异常处理
- Python 线程创建和传参
- Python 线程互斥锁 Lock
- Python 线程时间 Event
- Python 线程条件变量 Condition
- Python 线程定时器 Timer
- Python 线程信号量 Semaphore
- Python 线程障碍对象 Barrier
- Python 线程队列 Queue – FIFO
- Python 线程队列 LifoQueue – LIFO
- Python 线程优先队列 PriorityQueue
- Python 线程池 ThreadPoolExecutor(一)
- Python 线程池 ThreadPoolExecutor(二)
- Python 进程 Process 模块
- Python 进程 Process 与线程 threading 区别
- Python 进程间通信 Queue / Pipe
- Python 进程池 multiprocessing.Pool
- Python GIL 锁
未经允许不得转载:猿说编程 » Python str / bytes / unicode 区别详解
Python str / bytes / unicode 区别详解 - Python零基础入门教程相关推荐
- pythonlist详解_零基础入门Python3-列表list详解
list是一个有序的列表,比如:某个班级里面总共有5个学生,这些学生名字清单依次是:zhangsan.lisi.wangwu.meimei.huanhuan.这个名字清单就是一个有序的列表,给他们的名 ...
- pdf百度云下载 python编程 从数据分析到数据科学_python零基础入门教程,不同方向的,这很重要...
很多人都在学python,对于大多数的人来说,方向最重要的,它决定着你的结果! 编程小十接触过很多想学python的人,相对于自己的学习目的来说,很多时候容易选择不太正确的方向. 下面我简单介绍一下 ...
- 【数据结构之并查集】并查集详解(零基础入门,超级有趣的!!!)
转的一个超级有意思,好懂的并查集解释, 膜拜大神~~ 故事读完,并查集就会了~~~~~ 江湖上散落着各式各样的大侠,有上千个之多.他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的 ...
- Python str 函数 - Python零基础入门教程
目录 一.Python str 函数介绍 二.Python str 函数使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一 ...
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- 视频教程-Python零基础入门教程-Python
Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...
- Python零基础入门教程( 快速入门)
前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...
- python中byte类型_详解python string类型 bytes类型 bytearray类型
搜索热词 一.python3对文本和二进制数据做了区分.文本是Unicode编码,str类型,用于显示.二进制类型是bytes类型,用于存储和传输.bytes是byte的序列,而str是unicode ...
- python变量定义大全_详解python变量与数据类型
这篇文章我们学习 Python 变量与数据类型 变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名访问.在 Python 中 变量命名规定,必须是大小写英文,数字 ...
最新文章
- [Google API](4)搜索结果
- 万字长文!Jeff Dean亲笔盘点谷歌AI 2019:纵横16大方向,汇集重要开源算法(附链接)...
- linux ln(link) 命令详解
- view bitmap 截图
- 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导
- linux系统的ftp命令大全,linux系统ftp命令(示例代码)
- C++ 普通函数和模板函数调用规则
- Div+CSS布局入门教程(三) 页面顶部制作之一
- 开发问题---数据库字段前出现“—”(保存留用,仅供参考)
- 完全没法比!华为P40 Pro和iPhone 9宣传视频同曝光
- 新手学堂:Linux操作系统的启动步骤说明
- cnn输入层_基于 CNN 的文本分类算法
- 手机微商城可以安装到虚拟服务器,安装使用:百家CMS微商城系统安装教程(图文说明)...
- 创建oracle自增序列
- 鹏业安装算量软件功能按钮汇总(一)
- 高通APQ8074(骁龙800)处理器
- windows7 32位系统下好用的一款视频制作工具--Windows live影音制作
- 臭名昭著的Java”
- app启动速度优化实践
- JavaScript小白入门篇(二、高级语法之 BOM 详解)