У меня есть две переменных (скажем, x
и y
), которые имеют следующие значения:Как сравнить unicode и строку в Python?
x = u'Ko\u0161ick\xfd'
y = 'Ko\x9aick\xfd'
Они предположительные кодирующее же имя, но по-другому. Первая переменная является юникодом, а вторая - строкой.
Есть ли способ преобразовать строку в unicode (или unicode в строку) и проверить, действительно ли они одинаковы.
Я пытаюсь использовать encode
x.encode('utf-8')
Он возвращает что-то новое (третья версия):
'Ko\xc5\xa1ick\xc3\xbd'
и используя следующее:
print x.encode('utf-8')
возвращается еще одна версия:
KošickÛ
Итак, я совершенно смущен. Есть ли способ сохранить все в одном формате?
ваш 'y' отсутствует что-то ... Я проверил его на моем отладчике IDLE python, а' x' - 'Kosicky' и' y' is 'Koicky' (отсутствует 's'). – Neoares
@Neoares Ваш IDLE, похоже, не имеет правильных глифов. 'x' является« Košický »здесь. – tripleee
@tripleee, тогда это нормально :) Во всяком случае, какой IDLE вы используете? – Neoares