Русская расшифровка символов в питоне

Этот вопрос только для python:

У меня есть название города в строке на русском языке и в форме Unicode, как,

\u041C\u043E\u0441\u043A\u0432\u0430

средства

Москва

Как получить оригинальный текст вместо символов юникода?

Примечание: не используйте какой-либо модуль импорта

2 ответа

Решение
>>> a=u"\u041C\u043E\u0441\u043A\u0432\u0430"
>>> print a
Москва

Ваша строка является строкой Unicode, потому что каждая символьная / кодовая точка с \u может использоваться только из строки Unicode, вы должны префикс строки с u. В противном случае это обычная строка, и каждый \u считается как обычный символ ascii:

>>> len(a)
6
>>> b="\u041C\u043E\u0441\u043A\u0432\u0430"
>>> len(b)
36

В дополнение к ответу vz0: обратите внимание на кодировку скрипта.

Этот файл будет отлично работать:

# coding: utf-8
s = u"\u041C\u043E\u0441\u043A\u0432\u0430"
print(s)

Но этот приведет к UnicodeEncodeError:

# coding: ASCII
s = u"\u041C\u043E\u0441\u043A\u0432\u0430"
print(s)
Другие вопросы по тегам