以下是我觀察到的一些情況。想知道爲什麼Python的打印行爲是這樣的,並且可能的修復。Python打印無法同時打印Unicode和字符串
>>> print "%s" % u"abc" # works
>>> print "%s" % "\xd1\x81" # works
>>> print "%s %s" % (u"abc", "\xd1\x81") # Error
對於上述(最後),我得到:UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)
但是,這個工作
>>> print "%s %s" % ("abc", "\xd17\x81") # works
當我做
>>> print "%s %s" % (u"abc", u"\u0441") # Error
其提高UnicodeEncodeError: 'charmap' codec can't encode character u'\u0441' in position 4: character maps to <undefined>
你應該強調:「不要混合Unicode和字節串」 – jfs