Why do we have different byte oriented string representations in Python 3? Won't it be enough to have single representation instead of multiple?
For ASCII range number printing a string shows a sequence starting with \x
:
In [56]: chr(128)
Out[56]: '\x80'
In a different range of numbers it Python uses a sequence starting with \u
In [57]: chr(57344)
Out[57]: '\ue000'
But numbers in the highest range, i.e the maximum Unicode number as of now, it uses a leading \U
:
In [58]: chr(1114111)
Out[58]: '\U0010ffff'