html.escape由unescape处理的所有字符(不仅仅是&、<和>)

2024-04-29 06:06:47 发布

您现在位置:Python中文网/ 问答频道 /正文

html.escape()和.unescape()不是对称的。根据the docs,escape只转换&&书信电报;和>;,而.unescape处理“所有命名和数字字符引用”。我如何转义所有.unescape()unescapes的字符

当前行为:

html.unescape('&deg;')
'°'
html.escape('°')
'°'

期望的行为:

html.unescape('&deg;')
'°'
html.escape('°')
'&deg;'

Tags: thegtdocshtml数字电报字符命名
1条回答
网友
1楼 · 发布于 2024-04-29 06:06:47

您链接到的文档链接到此:

html.entities.codepoint2name

正如另一张海报所指出的,您可能并不真的想对所有内容进行转义,因为每个字符都有实体名,或者至少是数字转义

但是,给定上述映射,您当然可以创建自己的函数,逐个字符地遍历字符串,并保留原始字符或用上述字典中的实体替换它。只需选择最希望以实体形式而不是字符形式表示的字符或字符范围

相关问题 更多 >