Русская расшифровка символов в питоне
Этот вопрос только для 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)