2013-06-10 17 views
6

Czy istnieje norma, najlepiej pythonowy, sposobem konwersji notacji &#xxxx; do właściwego ciąg Unicode?Konwersja numerycznej notacji odniesienia znaków Unicode ciąg

Na przykład

מפגשי 

powinny być zamienione na:

מפגשי 

Można to zrobić - dość łatwo - za pomocą manipulacji ciąg, ale zastanawiam się, czy nie jest to standardowa biblioteka dla tego produktu.

+0

Podpowiedź: że zapis jest nazywany [ "numeryczne odniesienia postaci"] (https: // pl. wikipedia.org/wiki/Numeric_character_reference). –

+0

+1 @ JoachimSauer, dzięki, zaktualizowałem tytuł. –

+0

pokrewne: http://stackoverflow.com/questions/3894564/replace-numeric-character-references-in-xml-document-using-python –

Odpowiedz

9

Zastosowanie HTMLParser.HTMLParser():

>>> from HTMLParser import HTMLParser 
>>> h = HTMLParser() 
>>> s = "מפגשי" 
>>> print h.unescape(s) 
מפגשי 

To część standard library też.


Jednakże, jeśli używasz Python 3, trzeba importować z html.parser:

>>> from html.parser import HTMLParser 
>>> h = HTMLParser() 
>>> s = 'מפגשי' 
>>> print(h.unescape(s)) 
מפגשי 
+0

'unescape' wydaje się być wewnętrznym i nieudokumentowanym. Czy istnieje "oficjalny" sposób? – georg

+0

@ thg435 Nie o tym wiem, przepraszam – TerryA

+0

Nie znalazłem tego. Cóż, ten rodzaj jest do dupy, prawda? – georg

Powiązane problemy