2

Lasst uns sagen, wir haben einen StringPython konvertieren String in HTML char Äquivalent

Bruce Wayne is Batman

Wenn ich diese Zeichenfolge konvertieren Zeichen in HTML, wird der Ausgang

sein

Bruce Wayne is Batman

Ich versuche, einen Weg finden, dies in Python 2.7 zu tun. Kann jemand vorschlagen, wie es gemacht werden kann?

Ich habe über den Stackoverflow gesucht und alle Antworten, die ich gefunden habe, sind wie HTML-Sonderzeichen zu entkommen. Ich bin nicht auf der Suche nach Sonderzeichen, sondern wandle alle Strings in ihre entsprechenden HTML-Zeichen um. Das hackbar Addon von Mozilla Firefox ist in der Lage, es erfolgreich zu machen, ich möchte dasselbe mit Python implementieren.

Auch die HTMLParse-Bibliothek kann sie mit dem unescape() -Modul erfolgreich dekodieren. Gibt es eine Bibliothek in Python, um es so zu kodieren, wie es oben erwähnt wurde? Ich suche auch nicht nach externen Bibliotheken wie BeautifulSoup, sondern nach einer eingebauten Bibliothek, da es dem Tool keine Abhängigkeiten hinzufügt.

Antwort

0

Nach meinem besten Wissen gibt es nichts in der Standard-Bibliothek, um dies zu tun (Codierung alle Zeichen als Entity-Referenz ist keine allgemeine Sache zu tun), aber eine Funktion, um die Konvertierung ist einfach:

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' 

Die Funktion verwendet einfach den ord() Built-in, um den Byte-Wert oder Codepunkt jedes Zeichens zu erhalten, umschließt es in &#...;, und verbindet dann die Ergebnisse.

+0

Macht den Job. Vielen Dank. – 7h1n0b1