为什么在python中给str func一个unicode字符串会抛出一个异常?

yak*_*kov 2 python string unicode

例如以下内容:str(u'לשום')将抛出错误.我怎么能阻止这些?

Ign*_*ams 7

呼叫str()a unicode与呼叫呼叫相同.encode(sys.getdefaultencoding()).如果unicode包含无法以默认编码进行编码的字符,那么它将抛出一个UnicodeEncodeError.修复方法是unicode使用有用的编码显式编码,例如'utf-8'.