Byte Array Objects¶
-
type PyByteArrayObject¶
This subtype of PyObject represents a Python bytearray object.
CPython implementation detail: The internal buffer of PyByteArrayObject always includes an
extra trailing null byte for compatibility with null terminated C
strings. This extra byte is not counted in PyByteArray_Size()
nor in the len arguments of the functions below.
-
PyTypeObject PyByteArray_Type¶
- Part of the Stable ABI.
This instance of PyTypeObject represents the Python bytearray type;
it is the same object as bytearray in the Python layer.
Type check macros¶
-
int PyByteArray_Check(PyObject *o)¶
Return true if the object o is a bytearray object or an instance of a
subtype of the bytearray type. This function always succeeds.
-
int PyByteArray_CheckExact(PyObject *o)¶
Return true if the object o is a bytearray object, but not an instance of a
subtype of the bytearray type. This function always succeeds.
Direct API functions¶
-
PyObject *PyByteArray_FromObject(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI. Thread safety: Safe for concurrent use on the same object.
Return a new bytearray object from any object, o, that implements the
buffer protocol.
On failure, return NULL with an exception set.
Note
If the object implements the buffer protocol, then the buffer
must not be mutated while the bytearray object is being created.
-
PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)¶
- Return value: New reference. Part of the Stable ABI. Thread safety: Atomic.
Create a new bytearray object from string and its length, len.
On failure, return NULL with an exception set.
-
PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)¶
- Return value: New reference. Part of the Stable ABI. Thread safety: Safe for concurrent use on the same object.
Concat bytearrays a and b and return a new bytearray with the result.
On failure, return NULL with an exception set.
Note
If the object implements the buffer protocol, then the buffer
must not be mutated while the bytearray object is being created.
-
Py_ssize_t PyByteArray_Size(PyObject *bytearray)¶
- Part of the Stable ABI. Thread safety: Atomic.
Return the size of bytearray after checking for a NULL pointer.
-
char *PyByteArray_AsString(PyObject *bytearray)¶
- Part of the Stable ABI. Thread safety: Safe to call from multiple threads with external synchronization only.
Return the contents of bytearray as a char array after checking for a
NULL pointer. The returned array always has an extra
null byte appended.
Note
It is not thread-safe to mutate the bytearray object while using the returned char array.
-
int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)¶
- Part of the Stable ABI.
Resize the internal buffer of bytearray to len.
Failure is a -1 return with an exception set.
Changed in version 3.14: A negative len will now result in an exception being set and -1 returned.
©
Copyright 2001 Python Software Foundation.
This page is licensed under the Python Software Foundation License Version 2.
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
See
History and License for more information.
The Python Software Foundation is a non-profit corporation.
Please donate.
Last updated on Nov 12, 2026 (08:53 UTC).
Found a bug?
Created using
Sphinx 9.1.1.