跳转到主要内容

Byte Array Objects

pair: object; bytearray

This subtype of PyObject represents a Python bytearray object.

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.

This instance of PyTypeObject represents the Python bytearray type; it is the same object as bytearray in the Python layer.

Type check macros

Return true if the object o is a bytearray object or an instance of a subtype of the bytearray type. This function always succeeds.

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

Return a new bytearray object from any object, o, that implements the buffer protocol <bufferobjects>.

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.

Create a new bytearray object from string and its length, len.

On failure, return NULL with an exception set.

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.

Return the size of bytearray after checking for a NULL pointer.

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.

Resize the internal buffer of bytearray to len. Failure is a -1 return with an exception set.

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.

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.

Similar to PyByteArray_Size, but without error checking.