Byte Array Objects¶
-
PyTypeObject PyByteArray_Type¶
- Part of the Stable ABI.
This instance of
PyTypeObjectrepresents the Python bytearray type; it is the same object asbytearrayin the Python layer.
Type check macros¶
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
NULLwith 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
NULLwith 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
NULLwith 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
NULLpointer.
-
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
NULLpointer. 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
-1return with an exception set.Changed in version 3.14: A negative len will now result in an exception being set and -1 returned.
Macros¶
These macros trade safety for speed and they don’t check pointers.
-
char *PyByteArray_AS_STRING(PyObject *bytearray)¶
- Thread safety: Safe to call from multiple threads with external synchronization only.
Similar to
PyByteArray_AsString(), but without error checking.Note
It is not thread-safe to mutate the bytearray object while using the returned char array.
-
Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)¶
- Thread safety: Atomic.
Similar to
PyByteArray_Size(), but without error checking.