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