参见英文答案 > 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表没有西里尔字符的代码点,因此您需要明确指定编码.
但如果您只想打印字符串,那么您应该关注的是终端的编码和系统字体.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。