title: What is internal representation of string in Python 3.x
body: <p>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? Is it UTF-16?</p>
  
  <blockquote>
    <p>The items of a string object are
    Unicode code units. A Unicode code
    unit is represented by a string object
    of one item and can hold either a
    16-bit or 32-bit value representing a
    Unicode ordinal (the maximum value for
    the ordinal is given in
    sys.maxunicode, and depends on how
    Python is configured at compile time).
    Surrogate pairs may be present in the
    Unicode object, and will be reported
    as two separate items.</p>
  </blockquote>