7.10. stringprep-Internet 字符串准备

2.3 版的新Function。

在标识 Internet 中的事物(例如主机名)时,通常需要将此类标识进行“平等”比较。究竟如何执行该比较可能取决于应用程序域,例如是否应该不区分大小写。也可能有必要限制可能的标识,以仅允许包含“可打印”字符的标识。

RFC 3454定义了在 Internet 协议中“准备” Unicode 字符串的过程。在将绳子传递到电线上之前,先按照准备程序对其进行处理,然后再将它们制成某种规格的形式。 RFC 定义了一组表,可以将它们组合成配置文件。每个概要文件都必须定义其使用的表以及stringprep过程的哪些其他可选部分是该概要文件的一部分。 stringprep配置文件的一个示例是nameprep,它用于国际化域名。

模块stringprep仅公开 RFC 3454 中的表。由于这些表非常大,无法将它们表示为字典或列表,因此该模块在内部使用 Unicode 字符数据库。模块源代码本身是使用mkstringprep.pyUtil 生成的。

结果,这些表作为函数而不是数据结构公开。 RFC 中有两种表:集和 Map。对于集合,stringprep提供“Feature 函数”,即,如果参数是集合的一部分,则返回 true 的函数。对于 Map,它提供了 Map Function:给定键,它返回关联的值。以下是模块中所有可用Function的列表。

首页