Найти - Пользователи
Полная версия: Python 2.x... Кодировки... Блин.
Начало » Python для новичков » Python 2.x... Кодировки... Блин.
1
ZZZ
Пространства для Вашего Я, Коллеги!

Только не плюйте в топик! Просто есть интересный вопрос…
Дело в том, что мне надо обработать параметры функций, которые могут быть разными строками… Если точнее, где-то нужно привести 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. Пора, блин, на тройку переходить! Достали меня такие вылысыпырысты!
bw
Не вижу проблем.

..bw
pyuser
Нечто подобное было здесь: http://code.activestate.com/recipes/466341/
ZZZ
Ясно, спасибо. Не далеко я ушёл.
Кстати вариант с ловлей UnicodeDecodeError мне нравиться больше. И название функций лучше.
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