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

时间:2010-05-06 10:43:07

标签: python unicode string

例如以下内容: STR(U 'לשום') 会抛出错误。 我怎么能阻止这些?

2 个答案:

答案 0 :(得分:7)

str()上呼叫unicode与在其上呼叫.encode(sys.getdefaultencoding())相同。如果unicode包含无法使用默认编码进行编码的字符,则会抛出UnicodeEncodeError。修复方法是使用有用的编码对unicode进行显式编码,例如'utf-8'

答案 1 :(得分:0)

如果您在Python 3上运行,则u''表示法是语法错误。这是你的问题吗?因为在Python< 3中,您的代码绝对正确,并且因为'test'是纯ASCII,所以没有解码问题。