在python中将unicode西里尔字母转换为字符串

2024-06-10 15:11:31 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试转换unicode时:

a = u"Тест"

字符串:

str(a)

我得到这个错误:

'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

我需要str(a)给我输出:

>> str(a)
>> 'Тест'

Tags: 字符串in错误asciiunicodenotpositionrange
1条回答
网友
1楼 · 发布于 2024-06-10 15:11:31

选择可以对西里尔符号进行编码的编码,例如UTF-8:

>>> a = u'Тест'

>>> a.encode('utf-8')
'\xd0\xa2\xd0\xb5\xd1\x81\xd1\x82'

ASCII表没有用于西里尔字符的代码点,因此需要显式指定编码。

但是,如果您只想打印字符串,那么您应该关心的是终端的编码和系统字体。

相关问题 更多 >