Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 20, 2009 09:51:24

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Python 2.x... Кодировки... Блин.

Пространства для Вашего Я, Коллеги!

Только не плюйте в топик! Просто есть интересный вопрос…
Дело в том, что мне надо обработать параметры функций, которые могут быть разными строками… Если точнее, где-то нужно привести unicode к str, а где-то наоборот. str, само-собой, только в UTF-8, так что ничего гадать не надо. Это просто юзабилити. Хорошо, например, можно оформить ввиде дескриптора…
Вот, ниже я привёл пару простых функций… Но что-то мне это напоминает изобретение пылесоса. Собственно, может есть стандартное решение?

def to_unicode(s):
if isinstance(s, str):
return s.decode("UTF-8")
elif isinstance(s, unicode):
return s
else:
raise TypeError('Arg must be str or unicode, not %s' % type(s).__name__)

def to_str(s):
if isinstance(s, str):
return s
elif isinstance(s, unicode):
return s.encode("UTF-8")
else:
raise TypeError('Arg must be str or unicode, not %s' % type(s).__name__)
P.S. Пора, блин, на тройку переходить! Достали меня такие вылысыпырысты!



Офлайн

#2 Янв. 20, 2009 10:10:12

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Python 2.x... Кодировки... Блин.

Не вижу проблем.

..bw



Офлайн

#3 Янв. 21, 2009 03:55:46

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

Python 2.x... Кодировки... Блин.

Нечто подобное было здесь: http://code.activestate.com/recipes/466341/



Офлайн

#4 Янв. 21, 2009 23:35:16

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Python 2.x... Кодировки... Блин.

Ясно, спасибо. Не далеко я ушёл.
Кстати вариант с ловлей UnicodeDecodeError мне нравиться больше. И название функций лучше.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version