In Python 3.x, a string consists of items of Unicode ordinal. (See the quotation from the language reference below.) What is the internal representation of Unicode string? I
I think, Its hard to judge difference between UTF-16, which is just a sequences of 16 bit words, to Python's string object.
And If python is compiled with Unicode=UCS4 option, it will be comparing between UTF-32 and Python string.
So, better consider, they are in different category, although you can transform each others.
It depends: see here. This is still true for Python 3 as far as internal representation goes.