为什么Python在输出中添加\xe3
:
>>> b'Transa\xc3\xa7\xc3\xa3o'.decode('utf-8')
'Transaç\xe3o'
预期值为:
^{pr2}$有关我的环境的更多信息:
>>> import sys
>>> print (sys.version)
3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)]
>>> sys.stdout.encoding
'cp437'
这是在控制台2+Powershell下。在
您需要使用支持所有要打印字符的控制台或终端。在
在交互式控制台中打印时,字符将被编码到控制台的正确编解码器中,任何不支持的字符都使用^{} error handler 来保持输出可读性,而不是引发异常。这是默认^{} function 的一个功能:
^{bq}$您的控制台可以处理}。有几个编解码器包含第一个字符而不是最后一个字符;您使用的是IBM codepage 437,但它绝不是唯一的一个。在
ç
,但不能处理{如果您在标准的Windows控制台(} package ,使python3使用Windows api更好地输出Unicode文本;您需要确保您的字体仍然能够显示Unicode文本。在
cmd.exe
)中运行Python,那么请注意Python、Unicode和该控制台不能很好地混合使用。您可以安装^{我不确定这个软件包是否与其他Windows外壳兼容;你的里程可能会有所不同。在
相关问题 更多 >
编程相关推荐