[Python书籍]Python学习手册(第4版) 中文版.pdf

[Python书籍]Python学习手册(第4版) 中文版.pdf

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
第八部分 高级话题 第36章 Unicode和字节字符串 在本书的核心类型部分关于字符串的一章中 (第 章),我有意地限制了大多数 7 P y t h o n 程序员需要了解的字符串话题的子集的范围。因为大多数程序员只是处理像A S C I I这样 的文本的简单形式,他们快乐地使用着Python 的基本的 字符串类型及其相关的操作, str 并且不需要掌握更加高级的字符串概念。实际上,这样的程序员很大程度上可以忽略 Python 3.0 中的字符串的变化,并且继续使用他们过去所使用的字符串。 另一方面,一些程序员处理更加专业的数据类型:非A S C I I 的字符串集、图像文件内 容,等等。对于这些程序员 (以及其他可能某一天加入这一队伍的程序员),在本章 中,我们将介绍P y t h on字符串的其他内容,并且探讨P y t h on字符串模型中一些较为高级 的话题。 特别是,我们将介绍Python支持的Unicode文本的基础知识——在国际化应用程序中使用 的宽字符字符串,以及二进制数据——表示绝对的字节值的字符串。我们将看到,高级 的字符串表示法在Python 当前版本中已经产生了分歧: • Python 3.0为二进制数据提供了一种替代字符串类型,并且在其常规的字符串类型 中支持 文本 ( 看作 的一种简单类型)。 Unicode ASCII Unicode • Python 2.6为非ASCII Unicode文本提供了一种替代字符串类型,并且在其常规的字 符串类型中支持简单文本和二进制数据。 此外,由于P y t h o n 的字符串模式对于如何处理非A SC I I文件有着直接的影响,我们还将 在这里介绍相关话题的基础知识。最后,我们还将简单地看看一些高级字符串和二进制 工具,例如模式匹配、对象pickle化、二进制数据包装和XML解析,以及Python 3.0 的字 符串变化对它们产生影响的方式。 893 正式来说,本章是关于高级话题的一章,因为并不是所有的程序员都需要深入U n i c o d e 编码或二进制数据的世界。如果你需要关注处理这两种形式,那么,你将会发现P y t h o n 的字符串模式提供了所需的支持。 Python 3.0 中的字符串修改 P y t h o n 3.0 中最引入注目的修改之一,就是字符串对象类型的变化。简而言之,P y t h o n 2.X 的 和 类型已经融入了Python 3.0 的 和 类型,并且增加了一种新的 str unicode str bytes 可变的类型bytearray。bytearray类型在Python 2.6 中也可以使用 (但在更早的版本中 不能用),但是,它在Python 3.0 中得到完全支持,并且不像是Python 2.6 中那样清楚地 区分文本和二进制内容。 特别是,如果我们处理本质上是U n i c o d e或二进制的数据,这些修改对于代码可能会有 切实的影响。实际上,作为首要的一般性规则,我们需要如何关注这一话题,很大程度 上取决于遇到如下的哪种情况: • 如果处理非ASCII Unicode文本,例如,在国际化应用程序或某些XML解析器的结 果这样的环境中,你将会发现P y t h o n 3.0 中对文本编码的支持是不同的,但是可能 比Python 2.6 中的支持更加直接、易用和无缝。 • 如果处理二进制数据,例如,使用st r u c t模块处理的图形或音频文件的形式或打包 的数据,我们需要理解Python 3.0 中新的bytes对象,以及Python 3.0对文本和二进制

您可能关注的文档

文档评论(0)

WX:r20090696 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体陈**

1亿VIP精品文档免费下

相关文档

相关课程推荐