26、Python 字符串处理全解析

Python 字符串处理全解析

1. 字符编码的发展

早期的字符编码标准存在很大局限性,虽然有些应用采用特殊技巧,通过添加重音和其他符号来传达额外字母,但标准的适用范围仍然非常有限。后来,Unicode 标准应运而生,它能包含世界上绝大多数语言所使用的字符。与 ASCII 不同,为了支持足够多的代码点,每个 Unicode 代码点占用超过一个字节。不过,当 Unicode 字符串加载到内存中时,这并不是问题,因为 Python 只有一种管理多字节值的方式。

需要注意的是,Unicode 标准实际上由超过一百万个单独的“代码点”组成,而非字符。代码点是一个代表书面文本某个方面的数字,可以是常规字符、符号或修饰符,如重音符号。为了与 Unicode 引入之前使用的系统兼容,有些字符甚至在多个代码点上都有体现。

在 Python 中,默认情况下,所有标准字符串都是 Unicode 字符串,这使得 Python 能够支持多种语言。上一节提到的字节字符串都需要使用 b 前缀来与标准 Unicode 字符串区分开来。

2. Python 不同版本的兼容性

在 Python 3.0 之前,和其他编程语言类似,Python 中的字符串默认是字节字符串,而 Unicode 由单独的类型表示。字节字符串在引用时无需前缀,而 Unicode 字符串使用 u 前缀来表明它们支持完整的 Unicode 字符集。在向 Python 3 过渡时,Unicode 字符串成为默认类型, u 前缀不再被支持。

遗憾的是,和本章前面提到的字节字符串一样,没有一种语法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值