【发布时间】:2013-04-21 21:27:42
【问题描述】:
我需要输出一些字符串(到标准输出),因为 windows 控制台在 cp437 中工作,如果字符串包含 cp437 之外的任何字符,则会引发异常。
我解决了这个问题
encoding=sys.stdout.encoding
pathstr = path.encode(encoding,errors="replace").decode(encoding)
print(pathstr)
path 是我想要输出的str。我可以用“?”替换字符
这似乎不太好,因为它转换为字节数组并返回到 str。
有没有更好的方法来实现这一点?
我还是 python 新手(也许一周),我正在使用 Win7 32 位和 cpython 3.3
【问题讨论】:
标签: python unicode character-encoding python-3.x