отказ от ответственности, я уже провел длительное исследование, чтобы решить это самостоятельно, но большинство вопросов, которые я нашел здесь, касается Python 2.7 или не решает мою проблему
Допустим, у меня есть следующее (этот пример взят из документа BeautifulSoup, я пытаюсь решить большую проблему):
>>> markup = "<h1>Sacr\xc3\xa9 bleu!</h1>"
>>> print(markup)
'Sacré bleu!'
Для меня разметка должна быть назначена в байтах, чтобы я мог сделать:
>>> markup = b"<h1>Sacr\xc3\xa9 bleu!</h1>"
>>> print(str(markup, 'utf-8'))
<h1>Sacré bleu!</h1>
Да! но как мне сделать этот переход между "<h1>Sacr\xc3\xa9 bleu!</h1>"
, который неверен в b"<h1>Sacr\xc3\xa9 bleu!</h1>"
?
Потому что, если я сделаю:
>>> markup = b"<h1>Sacr\xc3\xa9 bleu!</h1>"
>>> bytes(markup, "utf-8")
b'<h1>Sacr\xc3\x83\xc2\xa9 bleu!</h1>'
Понимаете? Он вставил \x83\xc2
бесплатно.
>>> print(bytes(markup))
TypeError: string argument without an encoding