Python将字符串转换为HTML char等价物

时间:2016-12-30 12:03:50

标签: python python-2.7 encoding html-encode character-entities

我们说我们有一个字符串

Bruce Wayne is Batman

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

Bruce Wayne is Batman

我试图在python 2.7中找到一种方法。任何人都可以建议如何做到这一点?

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

HTMLParse库也可以使用unescape()模块成功解码它。在python中是否有一个库来编码它,就像上面提到的那样?此外,我不是在寻找像BeautifulSoup这样的外部库,而是一个内置的库,因为它不会为工具添加依赖项。

1 个答案:

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