我正在编写一些代码来解析文本,在其中一个变量中,我可以有文本或整数,所以为了打印它,我做str:
Variable=str(input)
它工作正常,但如果输入包含特定于语言的字符:“ñ”,它将不起作用,抛出以下错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 9: ordinal not in range(128)
如何避免这种情况?
答案 0 :(得分:3)
我建议你先开始读取Unicode:
继续之前。
您需要使用特定编码编码 unicode()
值; str()
使用默认编码ASCII,对于某些值,它会失败。
可以使用unicode.encode()
方法进行显式编码:
Variable = input.encode('utf8')
但您需要选择适用于您的问题域的编码。