Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 4, 2015 08:20:48

OlegUP
Зарегистрирован: 2015-02-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Приведение unicode к нормальному виду str

пусть есть словарь d и строка s, значение которой берется из какого либо файла в виде unicode строки, это значение - ключ словаря :

d = {'Ответчик': 1}
s = u'\u041e\u0442\u0432\u0435\u0442\u0447\u0438\u043a' # s = u'Ответчик'

Но в таком виде она не подходит как ключ для словаря, как привести ее к нужному виду?
REM: Пробовал:
s = s.encode('cp1251')
Не помогает, KeyError

Офлайн

#2 Фев. 4, 2015 08:33:59

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Приведение unicode к нормальному виду str

d = {u'Ответчик': 1}



Офлайн

#3 Фев. 4, 2015 12:50:53

OlegUP
Зарегистрирован: 2015-02-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Приведение unicode к нормальному виду str

pyuser
Вопрос не в том как определить словарь, а в том как привести строку с ключем к нужному виду, думаете я хардкодю словарь? нет, я не могу его переопределить, потому что он должен отдаваться клиенту в таком виде, который есть.

Офлайн

#4 Фев. 4, 2015 13:13:04

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Приведение unicode к нормальному виду str

OlegUP
Не помогает, KeyError

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

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

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

Офлайн

#5 Фев. 4, 2015 13:21:04

OlegUP
Зарегистрирован: 2015-02-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Приведение unicode к нормальному виду str

s.encode('utf-8') == 'Ответчик'
True

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version