Объекты байтовых массивов

type PyByteArrayObject

Этот подтип PyObject представляет объект байтового массива Python.

PyTypeObject PyByteArray_Type
Часть Стабильный ABI.

Этот экземпляр PyTypeObject представляет тип Python bytearray; это тот же объект, что и bytearray в слое Python.

Макросы проверки типа

int PyByteArray_Check(PyObject *o)

Возвращает true, если объект o является объектом байтового массива или экземпляром подтипа типа байтового массива. Эта функция всегда работает успешно.

int PyByteArray_CheckExact(PyObject *o)

Возвращает true, если объект o является объектом байтового массива, но не является экземпляром подтипа типа байтового массива. Эта функция всегда работает успешно.

Прямые функции API

PyObject *PyByteArray_FromObject(PyObject *o)
Возвращаемое значение: Новая ссылка. Часть Стабильный ABI.

Возвращает новый объект байтового массива из любого объекта, o, который реализует buffer protocol.

PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)
Возвращаемое значение: Новая ссылка. Часть Стабильный ABI.

Создает новый объект байтового массива из string и его длины, len. В случае неудачи возвращается NULL.

PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)
Возвращаемое значение: Новая ссылка. Часть Стабильный ABI.

Конкатенация байтовых массивов a и b и возвращение нового байтового массива с результатом.

Py_ssize_t PyByteArray_Size(PyObject *bytearray)
Часть Стабильный ABI.

Возвращает размер bytearray после проверки на наличие указателя NULL.

char *PyByteArray_AsString(PyObject *bytearray)
Часть Стабильный ABI.

Возвращает содержимое bytearray в виде массива символов после проверки на наличие указателя NULL. В возвращаемый массив всегда добавляется дополнительный нулевой байт.

int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)
Часть Стабильный ABI.

Изменение размера внутреннего буфера bytearray до len.

Макросы

Эти макросы обменивают безопасность на скорость и не проверяют указатели.

char *PyByteArray_AS_STRING(PyObject *bytearray)

Аналогично PyByteArray_AsString(), но без проверки ошибок.

Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)

Аналогично PyByteArray_Size(), но без проверки ошибок.