Я использую словарь для хранения некоторых пар символов в Python (я заменяю символы умляута). Вот как это выглядит:Использование unicode/umlauts в Python: Словарь v ручной ввод
umlautdict={
'ae': 'ä',
'ue': 'ü',
'oe': 'ö'
}
Тогда я запускаю inputwords через него так:
for item in umlautdict.keys():
outputword=inputword.replace(item,umlautdict[item])
Но это ничего не делать (замена не происходит). Когда я напечатал мой umlautdict, я увидел, что это выглядит следующим образом:
{'ue': '\xfc', 'oe': '\xf6', 'ae': '\xc3\xa4'}
Конечно, это не то, что я хочу; однако, такие вещи, как unicode()
(-> Ошибка) или предварительная фиксация u
не улучшали ситуацию.
Если я печатаю «A» или «O» в replace()
команду вручную, все работает просто отлично. Я также изменил настройки в моем скрипте (работая в TextWrangler) до # -*- coding: utf-8 -*-
, так как он мог бы даже запустить скрипт, содержащий umlauts без него.
Так что я не получаю ...
Почему это происходит? Почему и когда умляуты меняются от «хорошего к злу», когда я храню их в словаре?
Как это исправить?
Также, если кто знает: что такое хороший ресурс, чтобы узнать о кодировке в Python? У меня есть проблемы все время и так много вещей не имеют смысла для меня/я не могу обернуть голову.
Я работаю над Mac в Python 2.7.10. Спасибо за вашу помощь!
Какая у вас версия python? – Kasramvd
@ Kasramvd Python 2.7.10. Я добавлю это выше – patrick
Довольно уверен, что это ** работает **, и вы просто испортили это нелогичным использованием 'inputword' и' outputword'. –