Python 文本处理全解析
1. UTF - 8 解码
UTF - 8 解码是一种安全的操作。对于纯 ASCII 文本,它能正确处理;对于 UTF - 8 编码的文本也能正常工作;而对于既不是 ASCII 也不是 UTF - 8 编码的内容,如不同编码的文本或 JPEG 等二进制格式,会干净利落地失败。在 Python 中,“干净利落地失败”意味着抛出异常。
snowman = '\N{snowman}'
snowman.encode('utf-16').decode('utf-8')
运行上述代码会抛出 UnicodeDecodeError 异常。对于随机数据,UTF - 8 解码也往往会失败。
import struct
import random
struct.pack('B'*12,
*(random.randrange(0, 256)
for i in range(12))
).decode('utf-8')
多次运行这段代码,很少能成功。
2. Python 字符串操作
Python 字符串对象较为微妙,从某种角度看,它像是字符序列,每个字符是长度为 1 的字符串。
a = "hello"
for i, x in enumerate(a):
print(i, x
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



