在unthon中将unicode cyrillic符号转换为字符串

UnL*_*TeD 5 python string unicode python-2.7

当我尝试转换unicode时:

a = u"????"
Run Code Online (Sandbox Code Playgroud)

要字符串:

str(a)
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

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

>> str(a)
>> '????'
Run Code Online (Sandbox Code Playgroud)

Lev*_*sky 4

选择可以编码西里尔字母的编码,例如 UTF-8:

\n\n
>>> a = u'\xd0\xa2\xd0\xb5\xd1\x81\xd1\x82'\n\n>>> a.encode('utf-8')\n'\\xd0\\xa2\\xd0\\xb5\\xd1\\x81\\xd1\\x82'\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

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

\n