У'Жорж Мелиес против Жоржа М \ xe9li \ xe8s ' - PullRequest
2 голосов
/ 19 февраля 2012

Я прочитал дюжину страниц, но я все еще не получил его.
Где разница между этими версиями:

u'Georges Méliès' и u'Georges M\xe9li\xe8s'

и какпреобразовать одно в другое и наоборот?

Ответы [ 2 ]

7 голосов
/ 19 февраля 2012

Нет разницы после того, как интерпретатор проанализировал эти строки.

Одна версия просто помещает специальные символы, но требует, чтобы исходный файл имел специальную кодировку, например UTF-8.
Вторая версия заменяет эти символы их байтовым представлением, поэтому такие строки в файле в кодировке ASCII безопасны.

Нельзя говорить о «преобразовании» между ними, поскольку они по сутиодни и те же строки.Но вот кое-что, что может быть интересно.

print u'Georges M\xe9li\xe8s' дает вывод Georges Méliès, а
print repr(u'Georges Méliès') дает u'Georges M\xe9li\xe8s'

2 голосов
/ 19 февраля 2012

Это то же самое, и я бы добавил:

u'Georges Méliès'.encode('latin1') дает 'Georges M\xe9li\xe8s'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...