diff options
-rw-r--r-- | Doc/library/array.rst | 10 | ||||
-rwxr-xr-x | Lib/test/test_array.py | 3 | ||||
-rw-r--r-- | Modules/arraymodule.c | 5 |
3 files changed, 6 insertions, 12 deletions
diff --git a/Doc/library/array.rst b/Doc/library/array.rst index d8e0df43e3..3e275a2620 100644 --- a/Doc/library/array.rst +++ b/Doc/library/array.rst @@ -21,7 +21,7 @@ defined: +-----------+--------------------+-------------------+-----------------------+-------+ | ``'B'`` | unsigned char | int | 1 | | +-----------+--------------------+-------------------+-----------------------+-------+ -| ``'u'`` | Py_UNICODE | Unicode character | 2 | \(1) | +| ``'u'`` | Py_UCS4 | Unicode character | 4 | | +-----------+--------------------+-------------------+-----------------------+-------+ | ``'h'`` | signed short | int | 2 | | +-----------+--------------------+-------------------+-----------------------+-------+ @@ -35,9 +35,9 @@ defined: +-----------+--------------------+-------------------+-----------------------+-------+ | ``'L'`` | unsigned long | int | 4 | | +-----------+--------------------+-------------------+-----------------------+-------+ -| ``'q'`` | signed long long | int | 8 | \(2) | +| ``'q'`` | signed long long | int | 8 | \(1) | +-----------+--------------------+-------------------+-----------------------+-------+ -| ``'Q'`` | unsigned long long | int | 8 | \(2) | +| ``'Q'`` | unsigned long long | int | 8 | \(1) | +-----------+--------------------+-------------------+-----------------------+-------+ | ``'f'`` | float | float | 4 | | +-----------+--------------------+-------------------+-----------------------+-------+ @@ -47,10 +47,6 @@ defined: Notes: (1) - The ``'u'`` type code corresponds to Python's unicode character. On narrow - Unicode builds this is 2-bytes, on wide builds this is 4-bytes. - -(2) The ``'q'`` and ``'Q'`` type codes are available only if the platform C compiler used to build Python supports C :c:type:`long long`, or, on Windows, :c:type:`__int64`. diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py index fc17b428ff..434e495f86 100755 --- a/Lib/test/test_array.py +++ b/Lib/test/test_array.py @@ -1015,7 +1015,7 @@ class UnicodeTest(StringTest): smallerexample = '\x01\u263a\x00\ufefe' biggerexample = '\x01\u263a\x01\ufeff' outside = str('\x33') - minitemsize = 2 + minitemsize = 4 def test_unicode(self): self.assertRaises(TypeError, array.array, 'b', 'foo') @@ -1027,6 +1027,7 @@ class UnicodeTest(StringTest): a.fromunicode('\x11abc\xff\u1234') s = a.tounicode() self.assertEqual(s, '\xa0\xc2\u1234 \x11abc\xff\u1234') + self.assertEqual(a.itemsize, 4) s = '\x00="\'a\\b\x80\xff\u0000\u0001\u1234' a = array.array('u', s) diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c index 09cca60eed..bb0d72b6e0 100644 --- a/Modules/arraymodule.c +++ b/Modules/arraymodule.c @@ -2593,7 +2593,7 @@ is a single character. The following type codes are defined:\n\ Type code C Type Minimum size in bytes \n\ 'b' signed integer 1 \n\ 'B' unsigned integer 1 \n\ - 'u' Unicode character 2 (see note) \n\ + 'u' Unicode character 4 \n\ 'h' signed integer 2 \n\ 'H' unsigned integer 2 \n\ 'i' signed integer 2 \n\ @@ -2605,9 +2605,6 @@ is a single character. The following type codes are defined:\n\ 'f' floating point 4 \n\ 'd' floating point 8 \n\ \n\ -NOTE: The 'u' type code corresponds to Python's unicode character. On \n\ -narrow builds this is 2-bytes on wide builds this is 4-bytes.\n\ -\n\ NOTE: The 'q' and 'Q' type codes are only available if the platform \n\ C compiler used to build Python supports 'long long', or, on Windows, \n\ '__int64'.\n\ |