У меня есть элемент, заполненный XML-документом, который мне нужно записать в строку Unicode, потому что он содержит символы не ascii.символ (ы), которые он содержит, не является ascii, является ².До того, как я столкнулся с этой ошибкой, скрипт использовал следующее:
tempxml = ET.tostring(cdadoc).decode("utf8").replace("<","<").replace(">",">").replace("&","&").replace("><",">\n<")
Я попытался установить его на
tempxml = ET.tostring(cdadoc, encoding='unicode_internal', method='xml')
test = ET.tostring(cdadoc, encoding='punycode', method='xml')
print(type(tempxml))
print(type(test))
tempxml = tempxml.replace(u"<",u"<").replace(u">",u">").replace(u"&",u"&").replace(u"><",u">\n<")
, где я попытался заменить как tempxml, так и test, и это толькобудет работать с тестом, где я закодировал его в punycode.Когда я попытался опубликовать его в API, он возвратил код 500, говорящий, что он не понимает punycode. Как я могу установить его в utf-8 или unicode?Я решил проблему с помощью python3, который, вероятно, является лучшим выбором, потому что python2 будет объявлен устаревшим в конце года.Это хороший вопрос, чтобы спросить?