参见英文答案 > UnicodeEncodeError: ‘ascii’ codec can’t encode character 12个
当我尝试转换unicode时:
a = u"Тест"
要字符串:
str(a)
我收到了这个错误:
'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
我需要str(a)给我输出:
>> str(a)
>> 'Тест'
最佳答案
选择一个可以编码西里尔符号的编码,例如UTF-8:
>>> a = u'Тест'
>>> a.encode('utf-8')
'\xd0\xa2\xd0\xb5\xd1\x81\xd1\x82'
ASCII表没有西里尔字符的代码点,因此您需要明确指定编码.
但如果您只想打印字符串,那么您应该关注的是终端的编码和系统字体.