cherrypy._cpcompat模块

与各种版本的Python一起使用CherryPy的兼容性代码。

为了保持与较旧的Python版本的兼容性,该模块对不同Python版本之间的差异提供了有用的抽象,有时偏爱较新的习惯用法,有时偏爱较旧的习惯用法,有时偏爱自定义的习惯用法。

具体地说,Python2使用字符串和‘’表示字节字符串,而Python3使用字符串和‘’表示Unicode字符串。对于每个版本,我们都将它们称为“原生字符串”类型。由于这一重大差异,此模块提供了两个函数:“ntoB”,它将原生字符串(类型为“str”)转换为字节字符串,而与Python版本无关;“ntou”,它将原生字符串转换为Unicode字符串。

尽量不要使用兼容功能‘ntoB’,‘ntou’,‘tonative’。它们是在考虑到Python2.3-2.5兼容性的情况下创建的。相反,请使用Unicode文字(从 __future__) 和字节文字及其.encode/.decode方法(根据需要)。

cherrypy._cpcompat.assert_native(n)[源代码]
cherrypy._cpcompat.ntob(n, encoding='ISO-8859-1')[源代码]

以给定编码的字节字符串形式返回给定的本机字符串。

cherrypy._cpcompat.ntou(n, encoding='ISO-8859-1')[源代码]

将给定的本机字符串作为具有给定编码的Unicode字符串返回。

cherrypy._cpcompat.tonative(n, encoding='ISO-8859-1')[源代码]

以给定编码将给定字符串作为本机字符串返回。