Найти - Пользователи
Полная версия: Приведение unicode к нормальному виду str
Начало » Python для экспертов » Приведение unicode к нормальному виду str
1
OlegUP
пусть есть словарь d и строка s, значение которой берется из какого либо файла в виде unicode строки, это значение - ключ словаря :
d = {'Ответчик': 1}
s = u'\u041e\u0442\u0432\u0435\u0442\u0447\u0438\u043a' # s = u'Ответчик'

Но в таком виде она не подходит как ключ для словаря, как привести ее к нужному виду?
REM: Пробовал:
s = s.encode('cp1251')
Не помогает, KeyError
pyuser
d = {u'Ответчик': 1}
OlegUP
pyuser
Вопрос не в том как определить словарь, а в том как привести строку с ключем к нужному виду, думаете я хардкодю словарь? нет, я не могу его переопределить, потому что он должен отдаваться клиенту в таком виде, который есть.
Alen
OlegUP
Не помогает, KeyError

Python 3.4
>>> d = {'Ответчик': 1}
>>> d['Ответчик']
1: 1

Python 2.7
>>> d = {u'Ответчик': 1}
>>> d[u'Ответчик']
1: 1

Начнем с простого, какая версия Python?
Инструкция #coding:utf8 в заголовке файла присутствует?

OlegUP
s.encode('utf-8') == 'Ответчик'
True
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB