pythonunicodeucs2

How to find out if Python is compiled with UCS-2 or UCS-4?


Just what the title says.

$ ./configure --help | grep -i ucs
  --enable-unicode[=ucs[24]]

Searching the official documentation, I found this:

sys.maxunicode: An integer giving the largest supported code point for a Unicode character. The value of this depends on the configuration option that specifies whether Unicode characters are stored as UCS-2 or UCS-4.

What is not clear here is - which value(s) correspond to UCS-2 and UCS-4.

The code is expected to work on Python 2.6+.


Solution

  • When built with --enable-unicode=ucs4:

    >>> import sys
    >>> print sys.maxunicode
    1114111
    

    When built with --enable-unicode=ucs2:

    >>> import sys
    >>> print sys.maxunicode
    65535