Vous devez avoir BelleSoupe .
from BeautifulSoup import BeautifulStoneSoup
import cgi
def HTMLEntitiesToUnicode(text):
"""Converts HTML entities to unicode. For example '&' becomes '&'."""
text = unicode(BeautifulStoneSoup(text, convertEntities=BeautifulStoneSoup.ALL_ENTITIES))
return text
def unicodeToHTMLEntities(text):
"""Converts unicode to HTML entities. For example '&' becomes '&'."""
text = cgi.escape(text).encode('ascii', 'xmlcharrefreplace')
return text
text = "&, ®, <, >, ¢, £, ¥, €, §, ©"
uni = HTMLEntitiesToUnicode(text)
htmlent = unicodeToHTMLEntities(uni)
print uni
print htmlent
# &, ®, <, >, ¢, £, ¥, €, §, ©
# &, ®, <, >, ¢, £, ¥, €, §, ©
17 votes
@Jarret Hardie : En fait, le show-and-tell est parfaitement bien sur SO. Dès la première entrée de la FAQ ( stackoverflow.com/faq ) "Il est également parfaitement acceptable de poser et de répondre à votre propre question de programmation". Cependant, il est également encouragé de rechercher les doublons.
13 votes
Je publie des questions auxquelles j'ai répondu moi-même dans le passé pour le bénéfice d'autres utilisateurs qui cherchent des réponses similaires.
0 votes
Peut également se faire sans bibliothèques externes. Voir stackoverflow.com/questions/663058/html-entity-codes-to-text/
6 votes
+1 Il contribue à l'ensemble des données.
2 votes
Cette question a une portée plus large que celle indiquée par le lien "duplicate" : cette question porte également sur le "vice versa", c'est-à-dire sur le passage des entités Unicode aux entités HTML.