在python中将unicode西里尔字母符号转换为字符串
当我尝试转换unicode时:在python中将unicode西里尔字母符号转换为字符串,python,string,unicode,python-2.7,Python,String,Unicode,Python 2.7,当我尝试转换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 = 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表没有西里尔字母字符的代码点,因此需要显式指定编码
但是,如果您只想打印字符串,那么您应该关心的是终端的编码和系统字体。查看此链接:我已经看了几个星期这个标签,几乎每天都会看到这个问题。在发布之前,您是否尝试搜索此错误?这里,。是的,我做了,没有人不处理我的案子。@UnLiMiTeD也许你应该解释一下为什么其他答案不适用。否则,你最终会得到人们在其他问题中提供的相同答案。在你这么做之前,我将假设这个问题与其他数百个类似的问题没有什么不同,我将投票结束它。我得到了这个同样有用的答案,但我需要在编码为字符串“Test”的字符串中显示它们。@UnLiMiTeD搜索“python-transiterate-cyrillic”可以得到其他东西,如果你需要的话。