(original) (raw)
changeset: 72699:055174308822 user: Victor Stinner victor.stinner@haypocalc.com date: Wed Oct 05 01:31:05 2011 +0200 files: Include/unicodeobject.h description: Document requierements of Unicode kinds diff -r 5564bcb0035e -r 055174308822 Include/unicodeobject.h --- a/Include/unicodeobject.h Wed Oct 05 00:59:23 2011 +0200 +++ b/Include/unicodeobject.h Wed Oct 05 01:31:05 2011 +0200 @@ -288,10 +288,26 @@ unsigned int interned:2; /* Character size: - PyUnicode_WCHAR_KIND (0): wchar_t* - PyUnicode_1BYTE_KIND (1): Py_UCS1* - PyUnicode_2BYTE_KIND (2): Py_UCS2* - PyUnicode_4BYTE_KIND (3): Py_UCS4* + - PyUnicode_WCHAR_KIND (0): + + * character type = wchar_t (16 or 32 bits, depending on the + platform) + + - PyUnicode_1BYTE_KIND (1): + + * character type = Py_UCS1 (8 bits, unsigned) + * if ascii is 1, at least one character must be in range + U+80-U+FF, otherwise all characters must be in range U+00-U+7F + + - PyUnicode_2BYTE_KIND (2): + + * character type = Py_UCS2 (16 bits, unsigned) + * at least one character must be in range U+0100-U+1FFFF + + - PyUnicode_4BYTE_KIND (3): + + * character type = Py_UCS4 (32 bits, unsigned) + * at least one character must be in range U+10000-U+10FFFF */ unsigned int kind:2; /* Compact is with respect to the allocation scheme. Compact unicode /victor.stinner@haypocalc.com