Serhiy Storchaka added the comment: In Python 2, the unicode() constructor accepts bytes argument if it is decodeable with sys.getdefaultencoding().
>>> unicode(b'abc') u'abc' >>> import sys >>> reload(sys) <module 'sys' (built-in)> >>> sys.setdefaultencoding("utf-8") >>> unicode(u'abcäöü'.encode('utf-8')) u'abc\xe4\xf6\xfc' In Python 3, the str() constructor does not accept bytes arguments if Python is ran with -bb option. ---------- nosy: +serhiy.storchaka _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue24025> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com