使用 xml 格式的 svn 日志时,我的脚本中不小心出错了。错误信息是:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-9: ordinal not in range(128)
通过调试输入数据,我发现了问题所在。这是一个例子:
a=u'\u0440\u0435\u044c\u0434\u0437\u0444\u043a\u044b\u0443\u043a \u043c\u0443\u043a\u044b\u0448\u0449\u0442 \u0430\u0448\u0447'
>>> print a
реьдзфкыук мукышщт ашч
>>> print '{}'.format(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-9: ordinal not in range(128)
你能解释一下格式有什么问题吗?似乎它在字符串字节之前看到u并尝试从 UTF8 解码它。但是在 Python 3 中,上面的示例可以正常工作。