Up to (I think) v2.2, Jython proudly supported Unicode in its str type, in which the elements were 16-bit characters. After that, the Python language introduced a proper unicode type and from 2.5 we had to treat str as bytes. It follows that the object printed in your example would have to be a unicode literal u"xy", to have any chance of working. This is the same as in CPython.