tornado.escape
---转义和字符串操作¶
HTML、JSON、URL和其他的转义/取消转义方法。
还包括其他一些随时间推移逐渐出现的杂项字符串操作函数。
转义函数¶
- tornado.escape.xhtml_escape(value: Union[str, bytes]) str [源代码]¶
转义字符串,使其在HTML或XML中有效。
转义字符
<
,>
,"
,'
和&
. 在属性值中使用转义字符串时,必须用引号括起来。在 3.2 版更改: 将单引号添加到转义字符列表中。
- tornado.escape.url_escape(value: Union[str, bytes], plus: bool = True) str [源代码]¶
返回给定值的URL编码版本。
如果
plus
为真(默认值),空格将用“+”代替“%20”。这适用于查询字符串,但不适用于URL的路径组件。注意,这个默认值与python的urllib模块相反。3.1 新版功能: 这个
plus
参数
- tornado.escape.url_unescape(value: Union[str, bytes], encoding: None, plus: bool = True) bytes [源代码]¶
- tornado.escape.url_unescape(value: Union[str, bytes], encoding: str = 'utf-8', plus: bool = True) str
从URL解码给定值。
参数可以是字节或Unicode字符串。
如果编码为“无”,则结果将是一个字节字符串。否则,结果是指定编码的Unicode字符串。
如果
plus
为真(默认值),加号将解释为空格(文字加号必须表示为“%2b”)。这适用于查询字符串和表单编码值,但不适用于URL的路径组件。注意,这个默认值与python的urllib模块相反。3.1 新版功能: 这个
plus
参数
字节/Unicode转换¶
- tornado.escape.utf8(value: bytes) bytes [源代码]¶
- tornado.escape.utf8(value: str) bytes
- tornado.escape.utf8(value: None) None
将字符串参数转换为字节字符串。
如果参数已经是字节字符串或无,则返回原样。否则,它必须是Unicode字符串并编码为UTF8。
- tornado.escape.to_unicode(value: str) str [源代码]¶
- tornado.escape.to_unicode(value: bytes) str
- tornado.escape.to_unicode(value: None) None
将字符串参数转换为Unicode字符串。
如果参数已经是unicode字符串或无,则返回的值不变。否则,它必须是一个字节字符串,并被解码为utf8。
- tornado.escape.native_str()¶
- tornado.escape.to_basestring()¶
将字节或Unicode字符串转换为类型
str
. 这些函数用于帮助从python 2转换为python 3,但现在不推荐使用to_unicode
.
其他功能¶
- tornado.escape.linkify(text: Union[str, bytes], shorten: bool = False, extra_params: Union[str, Callable[[str], str]] = '', require_protocol: bool = False, permitted_protocols: List[str] = ['http', 'https']) str [源代码]¶
用链接将纯文本转换为HTML。
例如:
linkify("Hello http://tornadoweb.org!")
会回来Hello <a href="http://tornadoweb.org">http://tornadoweb.org</a>!
参数:
shorten
:长URL将缩短以供显示。extra_params
:要包含在链接标记中的额外文本,或将链接作为参数并返回额外文本的可调用文件,例如linkify(text, extra_params='rel="nofollow" class="external"')
,或:def extra_params_cb(url): if url.startswith("http://example.com"): return 'class="internal"' else: return 'class="external" rel="nofollow"' linkify(text, extra_params=extra_params_cb)
require_protocol
:仅链接包含协议的URL。如果这是错误的,那么像www.facebook.com这样的网址也将被链接。permitted_protocols
:应链接的协议列表(或一组),例如linkify(text, permitted_protocols=["http", "ftp", "mailto"])
. 包含诸如javascript
.