Kaydet (Commit) df4f6e9f authored tarafından Marc-André Lemburg's avatar Marc-André Lemburg

Clarify the docs for Py_UNICODE.

üst 007f8dfd
...@@ -787,14 +787,24 @@ These are the basic Unicode object types used for the Unicode ...@@ -787,14 +787,24 @@ These are the basic Unicode object types used for the Unicode
implementation in Python: implementation in Python:
\begin{ctypedesc}{Py_UNICODE} \begin{ctypedesc}{Py_UNICODE}
This type represents a 16-bit unsigned storage type which is used by This type represents the storage type which is used by Python
Python internally as basis for holding Unicode ordinals. On internally as basis for holding Unicode ordinals. Python's default
platforms where \ctype{wchar_t} is available and also has 16-bits, builds use a 16-bit type for \ctype{Py_UNICODE} and store Unicode
\ctype{Py_UNICODE} is a typedef alias for \ctype{wchar_t} to enhance values internally as UCS2. It is also possible to build a UCS4
native platform compatibility. On all other platforms, version of Python (most recent Linux distributions come with UCS4
\ctype{Py_UNICODE} is a typedef alias for \ctype{unsigned short}. builds of Python). These builds then use a 32-bit type for
\ctype{Py_UNICODE} and store Unicode data internally as UCS4. On
platforms where \ctype{wchar_t} is available and compatible with the
chosen Python Unicode build variant, \ctype{Py_UNICODE} is a typedef
alias for \ctype{wchar_t} to enhance native platform compatibility.
On all other platforms, \ctype{Py_UNICODE} is a typedef alias for
either \ctype{unsigned short} (UCS2) or \ctype{unsigned long}
(UCS4).
\end{ctypedesc} \end{ctypedesc}
Note that UCS2 and UCS4 Python builds are not binary compatible.
Please keep this in mind when writing extensions or interfaces.
\begin{ctypedesc}{PyUnicodeObject} \begin{ctypedesc}{PyUnicodeObject}
This subtype of \ctype{PyObject} represents a Python Unicode object. This subtype of \ctype{PyObject} represents a Python Unicode object.
\end{ctypedesc} \end{ctypedesc}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment