Python 使用默认编码设置为ASCII的打印时无Unicode错误
阅读后: 我很好奇,想试着在Python 使用默认编码设置为ASCII的打印时无Unicode错误,python,unicode,Python,Unicode,阅读后: 我很好奇,想试着在印度文字中打印我的名字。我正在使用v2.7.2- >>> import sys >>> sys.getdefaultencoding() 'ascii' >>> name = u'\u0935\u0948\u092D\u0935' >>> print name वैभव 我希望print name会给我UnicodeError,因为defaultencoding设置为ASCII,所以从Unico
印度文字中打印我的名字。我正在使用v2.7.2
-
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> name = u'\u0935\u0948\u092D\u0935'
>>> print name
वैभव
我希望print name
会给我UnicodeError
,因为defaultencoding
设置为ASCII
,所以从Unicode
自动强制到ASCII
应该不起作用
我缺少什么?,而不是sys.getdefaultencoding()
:
当Python发现其输出附加到终端时,它设置
sys.stdout.encoding属性设置为终端的编码。印刷品
语句的处理程序将自动将unicode参数编码到
str输出
任何试图用Python进行Unicode工作的人最好使用Python 3,而不是传统的Python 2。但是您需要,因为在Unicode上,re
被破坏了。而你真的做不到,因为可怕的UCS⁄₄ Python中的海森堡。
>>> import sys
>>> print(sys.stdout.encoding)
utf-8
>>> print(sys.getdefaultencoding())
ascii
>>> name = u'\u0935\u0948\u092D\u0935'
>>> print name
वैभव