2013-06-27 7 views
9

को मैंने कोड के अगले भाग:Convert स्ट्रिंग xmlcharrefreplace से वापस utf-8

In [8]: st = u"опа" 

In [11]: st.encode("ascii", "xmlcharrefreplace") 
Out[11]: 'опа' 

In [14]: st1 = st.encode("ascii", "xmlcharrefreplace") 

In [15]: st1.decode("ascii", "xmlcharrefreplace") 
Out[15]: u'опа' 

In [16]: st1.decode("utf-8", "xmlcharrefreplace") 
Out[16]: u'опа' 

आप किसी भी विचार है कैसे u"опа" को वापस st1 कन्वर्ट करने के लिए?

उत्तर

15

का उपयोग करना HTMLParser.HTMLParser() का एक उदाहरण:

>>> from HTMLParser import HTMLParser 
>>> parser = HTMLParser() 
>>> parser.unescape('опа') 
u'\u043e\u043f\u0430' 
>>> print parser.unescape('опа') 
опа 
+0

यह पूरी तरह से 'यू" опа "' के साथ काम कर रहा है, लेकिन इस situatuion में काम नहीं करता: '>>> HTMLParser आयात HTMLParser' से'> >> पी = एचटीएमएल पार्सर() ' ' >>> सेंट = यू "मिशेल टेलि और # 243" ' ' >>> पी .्यूनस्केप (सेंट) ' 'यू'मिशेल टेलि & # 243'' –

+2

@ टुरलगर्नोव: वह ऐसा इसलिए है क्योंकि आप ';': 'u'michel tel ó' 'जोड़ना भूल गए हैं। आपको * कानूनी * एक्सएमएल इकाइयों में पास करने की आवश्यकता है। –

+0

ओह :) धन्यवाद। –

संबंधित मुद्दे