11Python学习手册_第4版_


立即下载 WL
2024-04-22
字符串 Python 类型 程序员 二进制 数据 Uni code 高级 话题
94 MB

第八部分
高级话题
893
第36章
Unicode和字节字符串
在本书的核心类型部分关于字符串的一章中(第7章),我有意地限制了大多数Python
程序员需要了解的字符串话题的子集的范围。因为大多数程序员只是处理像ASCII这样
的文本的简单形式,他们快乐地使用着Python的基本的str字符串类型及其相关的操作,
并且不需要掌握更加高级的字符串概念。实际上,这样的程序员很大程度上可以忽略
Python 3.0中的字符串的变化,并且继续使用他们过去所使用的字符串。
另一方面,一些程序员处理更加专业的数据类型:非A S C I I的字符串集、图像文件内
容,等等。对于这些程序员(以及其他可能某一天加入这一队伍的程序员),在本章
中,我们将介绍Python字符串的其他内容,并且探讨Python字符串模型中一些较为高级
的话题。
特别是,我们将介绍Python支持的Unicode文本的基础知识——在国际化应用程序中使用
的宽字符字符串,以及二进制数据——表示绝对的字节值的字符串。我们将看到,高级
的字符串表示法在Python当前版本中已经产生了分歧:
Python 3.0为二进制数据提供了一种替代字符串类型,并且在其常规的字符串类型
中支持Unicode文本(ASCII看作Unicode的一种简单类型)。
Python 2.6为非ASCII Unicode文本提供了一种替代字符串类型,并且在其常规的字
符串类型中支持简单文本和二进制数据。
此外,由于Python的字符串模式对于如何处理非ASCII文件有着直接的影响,我们还将
在这里介绍相关话题的基础知识。最后,我们还将简单地看看一些高级字符串和二进制
工具,例如模式匹配、对象pickle化、二进制数据包装和XML解析,以及Python 3.0的字
符串变化对它们产生影响的方式。


894 | 第36章
正式来说,本章是关于高级话题的一章,因为并不是所有的程序员都需要深入Unicode
编码或二进制数据的世界。如果你需要关注处理这两种形式,那么,你将会发现Python
的字符串模式提供了所需的支持。
Python 3.0中的字符串修改
Python 3.0中最引入注目的修改之一,就是字符串对象类型的变化。简而言之,Python
2.X


字符串/Python/类型/程序员/二进制/数据/Uni/code/高级/话题/ 字符串/Python/类型/程序员/二进制/数据/Uni/code/高级/话题/
-1 条回复
登录 后才能参与评论
-->