【发布时间】:2017-01-13 11:05:14
【问题描述】:
我看过几篇与此相关的帖子,但没有明确的答案。假设我想在仅支持 ASCII 的终端中打印字符串 s=u'\xe9\xe1'(例如,LC_ALL=C; python3)。有没有办法将以下配置为默认行为:
import sys
s = u'\xe9\xe1'
s = s.encode(sys.stdout.encoding, 'replace').decode(sys.stdout.encoding)
print(s)
即,我希望字符串打印一些东西——甚至是垃圾——而不是引发异常 (UnicodeEncodeError)。我正在使用python3.5。
我想避免为我所有可能包含 UTF-8 的字符串编写此代码。
【问题讨论】:
标签: python character-encoding utf