Они оба верны, но не делают одно и то же.IronPython, похоже, пытается print
символ Unicode и не может преобразовать его в текущую кодовую страницу.Вы получаете то же самое поведение с Python 2.7, если вы печатаете символ:
>>> import io
>>> io.StringIO(u'\ud801').getvalue()
u'\ud801'
>>> print(io.StringIO(u'\ud801').getvalue())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\encodings\cp437.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\ud801' in position 0: character maps to <undefined>