Преобразуйте объекты HTML в Unicode и наоборот

У вас здесь необычное сочетание JavaScript и C #.
Обычно вы выбираете данные из конечной точки WebAPI.

Самым простым (наименьшим) исправлением было бы

 // in the controller
 vm.Data = JsonConvert.Serialize( DataReporting(vm));
 vm.Labels = JsonConvert.Serialize(LabelReporting(vm));

Вам нужно будет сделать данные и метки простыми string свойствами.

 // in the View
 var datos =  JSon.Parse(@Model.Data);
 var etiquetas = JSon.Parse(@Model.Labels );

Обратите внимание, что это не было проверено.

62
задан Community 23 May 2017 в 10:31
поделиться

2 ответа

У Вас должен быть BeautifulSoup.

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
# &, ®, <, >, ¢, £, ¥, €, §, ©
# &amp;, &#174;, &lt;, &gt;, &#162;, &#163;, &#165;, &#8364;, &#167;, &#169;
29
ответ дан hekevintran 24 November 2019 в 16:38
поделиться

Что касается "наоборот" (в котором я нуждался сам, что привело меня к поиску этого вопроса, который не помог, а затем другого site, у которого был ответ ):

u'some string'.encode('ascii', 'xmlcharrefreplace')

вернет простую строку с любыми символами, отличными от ascii, преобразованными в объекты XML (HTML).

93
ответ дан 24 November 2019 в 16:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: