9、Python 文本处理全解析

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值