Python 将字符串转换为 HTML 等效字符

Python Convert string to HTML char equivalent

假设我们有一个字符串

Bruce Wayne is Batman

当我将此字符串转换为 HTML 个字符时,输出将是

Bruce Wayne is Batman

我正在尝试在 python 2.7 中找到一种方法来执行此操作。有人可以建议如何完成吗?

我搜索了整个 Whosebug,找到的所有答案都是如何转义 HTML 特殊字符。我不想转义特殊字符,而是将任何和所有字符串转换为它们的 HTML 字符等价物。 mozila firefox 的 hackbar 插件能够成功完成,我想使用 python 实现相同的功能。

HTMLParse 库也能够使用 unescape() 模块成功解码它。 python 中是否有一个库可以按照上面提到的方式对其进行编码?此外,我不是在寻找像 BeautifulSoup 这样的外部库,而是一个内置库,因为它不会向该工具添加任何依赖项。

据我所知,标准库中没有任何东西可以做到这一点(编码 每个 字符作为其实体引用并不是一件常见的事情),但是进行转换的函数很简单:

def entitify(text):
    return ''.join('&#%d;' % ord(c) for c in text)

>>> entitify('Bruce Wayne is Batman')
'Bruce Wayne is Batman'

>>> entitify(u'Rinôçérôse')
'Rinôçérôse'

该函数简单地使用 ord() 内置函数获取每个字符的字节值或代码点,将其包装在 &#...; 中,然后将结果连接在一起。