>>> s = 'auszuschließen'
>>> print(s.encode('ascii', errors='xmlcharrefreplace'))
b'auszuschließen'
>>> print(str(s.encode('ascii', errors='xmlcharrefreplace'), 'ascii'))
auszuschließen
有没有更好的方法来打印没有b''
的字符串?在
编辑:
我只是想打印Python中的转义字符,我唯一抱怨的是Python在打印时添加了“b”。在
如果我想在像Windows 7这样的哑终端上看到真实的角色,那么我得到的是:
^{pr2}$
从Unicode字符串开始。将其编码为},因此它可以保证工作。在
ascii
将创建一个具有所需字符的bytes
对象。Python在不将其转换回字符串的情况下不会打印它,默认的转换将放入b
和引号中。使用decode
显式地将其转换回一个字符串;默认编码是utf-8
,而且由于您的bytes
只包含utf-8
的子集{要查看用于调试的ascii表示(如Python 2上的
repr()
),请执行以下操作:要打印字节:
^{pr2}$不是所有的终端都能处理超过8位的字符集,这是真的。但不管你做什么他们都不会处理的,真的。在
如果您的操作系统正确设置了终端,那么打印Unicode字符串将产生可能的最佳结果,这意味着终端无法打印的字符将被替换为某些字符,例如问号或类似字符。你自己翻译并不能真正改善事情。在
更新:
因为您想知道字符串中有哪些字符,所以实际上需要知道它们的Unicode代码,或者在本例中是XML的等价物。这比打印更容易检查,而且通常b''部分本身就不是问题。在
但你可以像这样轻松地摆脱它:
相关问题 更多 >
编程相关推荐