#python #unicode
#python #юникод
Вопрос:
Я пытаюсь напечатать буквальный экранирующий символ Юникода «Pedro Le u00F3n». Когда я делаю следующее:
test = "Pedro Leu00F3n"
print(test)
>>> Pedro León
Как я могу заставить ее выводить «Pedro Le u00F3n»?
Ответ №1:
Кодируйте в байты с помощью unicode_escape
кодировки и декодируйте обратно:
>>> out = test.encode('unicode_escape').decode()
>>> out
'Pedro Le\xf3n'
>>> print(out)
Pedro Lexf3n
Обратите внимание, что это xXX
экранирование, а uXXXX
не экранирование, поскольку оно меньше U FF . Для сравнения:
>>> 'u0080'
'x80'
Ответ №2:
Вам нужно использовать необработанные строки. Просто используйте r
перед строкой:
test = r"Pedro Le\u00F3n"
print(test)
Вывод: Pedro Le\u00F3n
Комментарии:
1. Почему вы поставили двойную обратную косую черту?
Ответ №3:
попробуйте это
test = "Pedro Le\u00F3n"
print(test)
это происходит потому, что в python есть много «специальных символов, таких как» ‘n’ и более, и если вы хотите его игнорировать, вам нужно написать вместо