【发布时间】:2015-05-15 13:17:46
【问题描述】:
我正在尝试打印以下 unicode 字符串,但收到 UnicodeDecodeError: 'ascii' codec can't decode byte 错误。你能帮忙形成这个查询,以便它可以正确打印 unicode 字符串吗?
>>> from __future__ import unicode_literals
>>> ts='now'
>>> free_form_request='[EXID(이엑스아이디)] 위아래 (UP&DOWN) MV'
>>> nick='me'
>>> print('{ts}: free form request {free_form_request} requested from {nick}'.format(ts=ts,free_form_request=free_form_request.encode('utf-8'),nick=nick))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xec in position 6: ordinal not in range(128)
非常感谢您!
【问题讨论】:
-
试试ignoring the errors:
free_form_request.encode('utf-8', errors='ignore') -
@PeterWood 这不起作用,在编码后解码字符串时会出现问题。请注意,由于
unicode_literals导入,字符串已经是 unicode。 -
@ThomasOrozco 啊,我错过了。
标签: python python-2.7 unicode