3

假设我们有一个字符串

Bruce Wayne is Batman

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

Bruce Wayne is Batman

我正在尝试在 python 2.7 中找到一种方法。有人可以建议如何做到吗?

我已经搜索了整个 stackoverflow,我找到的所有答案都是如何转义 HTML 特殊字符。我不想转义特殊字符,而是将任何和所有字符串转换为它们的 HTML char 等效项。mozila firefox的hackbar插件能够成功,我想用python来实现。

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

4

1 回答 1

1

据我所知,标准库中没有任何内容可以执行此操作(将每个字符编码为其实体引用并不常见),但是执行转换的函数很简单:

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()内置函数获取每个字符的字节值或代码点,将其包装在 中&#...;,然后将结果连接在一起。

于 2016-12-30T12:36:55.000 回答