@@ -133,9 +133,7 @@ Unless otherwise stated, buffers are not NUL-terminated.
133133
134134``u# `` (:class: `str `) [Py_UNICODE \* , int]
135135 This variant on ``u `` stores into two C variables, the first one a pointer to a
136- Unicode data buffer, the second one its length. Non-Unicode objects are handled
137- by interpreting their read-buffer pointer as pointer to a :ctype: `Py_UNICODE `
138- array.
136+ Unicode data buffer, the second one its length.
139137
140138``Z `` (:class: `str ` or ``None ``) [Py_UNICODE \* ]
141139 Like ``u ``, but the Python object may also be ``None ``, in which case the
@@ -151,29 +149,28 @@ Unless otherwise stated, buffers are not NUL-terminated.
151149 object. The C variable may also be declared as :ctype: `PyObject\* `.
152150
153151``w `` (:class: `bytearray ` or read-write character buffer) [char \* ]
154- Similar to ``s ``, but accepts any object which implements the read-write buffer
152+ Similar to ``y ``, but accepts any object which implements the read-write buffer
155153 interface. The caller must determine the length of the buffer by other means,
156154 or use ``w# `` instead. Only single-segment buffer objects are accepted;
157155 :exc: `TypeError ` is raised for all others.
158156
159157``w* `` (:class: `bytearray ` or read-write byte-oriented buffer) [Py_buffer]
160- This is to ``w `` what ``s * `` is to ``s ``.
158+ This is to ``w `` what ``y * `` is to ``y ``.
161159
162160``w# `` (:class: `bytearray ` or read-write character buffer) [char \* , int]
163- Like ``s # ``, but accepts any object which implements the read-write buffer
161+ Like ``y # ``, but accepts any object which implements the read-write buffer
164162 interface. The :ctype: `char \* ` variable is set to point to the first byte
165163 of the buffer, and the :ctype: `int ` is set to the length of the buffer.
166164 Only single-segment buffer objects are accepted; :exc: `TypeError ` is raised
167165 for all others.
168166
169167``es `` (:class: `str `) [const char \* encoding, char \*\* buffer]
170- This variant on ``s `` is used for encoding Unicode and objects convertible to
171- Unicode into a character buffer. It only works for encoded data without embedded
172- NUL bytes.
168+ This variant on ``s `` is used for encoding Unicode into a character buffer.
169+ It only works for encoded data without embedded NUL bytes.
173170
174171 This format requires two arguments. The first is only used as input, and
175172 must be a :ctype: `const char\* ` which points to the name of an encoding as a
176- NUL-terminated string, or *NULL *, in which case the default encoding is used.
173+ NUL-terminated string, or *NULL *, in which case `` 'utf-8' `` encoding is used.
177174 An exception is raised if the named encoding is not known to Python. The
178175 second argument must be a :ctype: `char\*\* `; the value of the pointer it
179176 references will be set to a buffer with the contents of the argument text.
@@ -190,13 +187,13 @@ Unless otherwise stated, buffers are not NUL-terminated.
190187 the encoding passed in as parameter.
191188
192189``es# `` (:class: `str `) [const char \* encoding, char \*\* buffer, int \* buffer_length]
193- This variant on ``s# `` is used for encoding Unicode and objects convertible to
194- Unicode into a character buffer. Unlike the ``es `` format, this variant allows
195- input data which contains NUL characters.
190+ This variant on ``s# `` is used for encoding Unicode into a character buffer.
191+ Unlike the ``es `` format, this variant allows input data which contains NUL
192+ characters.
196193
197194 It requires three arguments. The first is only used as input, and must be a
198195 :ctype: `const char\* ` which points to the name of an encoding as a
199- NUL-terminated string, or *NULL *, in which case the default encoding is used.
196+ NUL-terminated string, or *NULL *, in which case `` 'utf-8' `` encoding is used.
200197 An exception is raised if the named encoding is not known to Python. The
201198 second argument must be a :ctype: `char\*\* `; the value of the pointer it
202199 references will be set to a buffer with the contents of the argument text.
@@ -556,11 +553,13 @@ Building values
556553
557554 ``L `` (:class: `int `) [PY_LONG_LONG]
558555 Convert a C :ctype: `long long ` to a Python integer object. Only available
559- on platforms that support :ctype: `long long `.
556+ on platforms that support :ctype: `long long ` (or :ctype: `_int64 ` on
557+ Windows).
560558
561559 ``K `` (:class: `int `) [unsigned PY_LONG_LONG]
562560 Convert a C :ctype: `unsigned long long ` to a Python integer object. Only
563- available on platforms that support :ctype: `unsigned long long `.
561+ available on platforms that support :ctype: `unsigned long long ` (or
562+ :ctype: `unsigned _int64 ` on Windows).
564563
565564 ``n `` (:class: `int `) [Py_ssize_t]
566565 Convert a C :ctype: `Py_ssize_t ` to a Python integer.
0 commit comments