chapter4 文本和字节序列

2017-12-01  本文已影响0人  F4A3

字符问题

Unicode 标准把字符的标识和具体的字节表述进行了明确区分

字节概要

python内置了两种基本的二进制序列类型:

结构体和内存视图

struct模块提供了一些函数,能处理bytes,bytearray和memoryview对象。

基本的编解码器

utf-8之类的

了解编码问题

处理文本文件

处理文件的最佳实践是‘Unicode三明治’。

为了正确比较而规范化Unicode字符串。

因为Unicode有组合字符。一个单词可能有两种方式构成,分别会有4个或者5码位。但是结果是完全一样的,在python中,因为看到的是不同的码位序列,因此判定二者不相等。
解决这个问题可以使用unicodedata.normalize函数提供的Unicode规范化。

大小折叠

大小写折叠其实就是把所有文本转为小写,再做些其他转换。这个功能由str.casefold()方法支持。

去掉变音符合

思路:

Unicode文本排序

可以使用PyUCA库。

Unicode 数据库

Unicode标准提供了一个完整的数据库,不仅包括码位与字符名称之间的映射,还有各个字符的元数据,以及字符之间的关系。

支持字符串和字节序列的双模式API

re和os模块

上一篇 下一篇

猜你喜欢

热点阅读