Я работаю с русскими словами, написанными в кириллице. Все работает отлично, за исключением того, сколько (но не всех) кириллических символов закодировано как два символа, когда в str
. Например:Юникод (кириллица) Индексирование символов, переписывание в питоне
>>>print ["ё"]
['\xd1\x91']
Это не было бы проблемой, если бы я не хотел, чтобы индексировать строки позиций или определить, где характер и заменить его на другой (скажем "e"
, без диэрезисом). Очевидно, что 2 «символы» рассматриваются как один, когда предваряются с и, как и в u"ё"
:
>>>print [u"ё"]
[u'\u0451']
str
Но s в настоящее время ходило как переменные, и поэтому не может быть с префиксом и, и unicode()
дает UnicodeDecodeError
(ascii-кодек не может декодировать ...).
Итак ... как мне обойти это? Если это помогает, я использую python 2.7
Тогда можно с префиксом str.format или используя правильную кодировку Юникод –