一日一技:Python的bytes型数据的迭代特征

简介: 一日一技:Python的bytes型数据的迭代特征

Bytes类型是Python 3引入的一个基本数据类型。调用Bytes类型的 .decode()方法可以把它变成Python 3的 str类型。调用 str类型.encode()方法,可以把它变成Bytes类型。

如果字符串只由Ascii中的符号组成,那么它转换为Bytes类型以后打印出来,“看上去”仅仅是前面多了一个 b而已,如下图所示:

但是如果字符串里面包含Ascii符号之外的其他符号,那么转换为Bytes类型以后,就变得不一样了,如下图所示:

其中在Ascii符号以外的字符,会被编码为很多的十六进制值。

并且,即使是仅有Ascii字符,Bytes型数据的迭代特性也与字符串不一样。

  1. 当我们使用for循环展开字符串时,得到的是每一个字符,如下图所示:

  • 当我们使用for循环展开Bytes对象时,得到的是很多的Ascii编码,如下图所示:

这些编码实际上可以直接使用 chr转换为对应的字符,如下图所示:

  • 使用下标取某一个字符时,字符串能直接获取对应的符号,但Bytes类型只能获取到Ascii编码,例如:

  • 使用切片时,字符串和Bytes类型又都能得到对应的字符,如下图所示:

  • 对于中文或者其他非Ascii字符的符号,无论是用索引还是切片,都看不到原来的字符:

在Python 3里面,不少操作获取的都是Bytes型的数据,例如base64.b64decode()的输出结果、例如redis-py这个库从Redis中读取的数据……

所以在实际使用中,一定要分清楚当前数据是不是Bytes型,以免因为它的迭代行为与字符串不一致导致问题。

最后,不要因为Bytes型数据在迭代的时候不方便就讨厌它。这个数据类型有非常重要的作用。

目录
相关文章
|
10月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
8227 1
|
10月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
768 0
|
10月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
10月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
11月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
11月前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
11月前
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
机器学习/深度学习 算法 数据挖掘
Python特征选择(全)
机器学习中,特征选择是一个重要步骤,用以筛选出显著特征、摒弃非显著特征。
|
11月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1697 102
|
11月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
520 104

推荐镜像

更多