17db96d56Sopenharmony_ci.. highlight:: c 27db96d56Sopenharmony_ci 37db96d56Sopenharmony_ci.. _bytearrayobjects: 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciByte Array Objects 67db96d56Sopenharmony_ci------------------ 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci.. index:: pair: object; bytearray 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci.. c:type:: PyByteArrayObject 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci This subtype of :c:type:`PyObject` represents a Python bytearray object. 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ci 167db96d56Sopenharmony_ci.. c:var:: PyTypeObject PyByteArray_Type 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ci This instance of :c:type:`PyTypeObject` represents the Python bytearray type; 197db96d56Sopenharmony_ci it is the same object as :class:`bytearray` in the Python layer. 207db96d56Sopenharmony_ci 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ciType check macros 237db96d56Sopenharmony_ci^^^^^^^^^^^^^^^^^ 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci.. c:function:: int PyByteArray_Check(PyObject *o) 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ci Return true if the object *o* is a bytearray object or an instance of a 287db96d56Sopenharmony_ci subtype of the bytearray type. This function always succeeds. 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_ci.. c:function:: int PyByteArray_CheckExact(PyObject *o) 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci Return true if the object *o* is a bytearray object, but not an instance of a 347db96d56Sopenharmony_ci subtype of the bytearray type. This function always succeeds. 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ciDirect API functions 387db96d56Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^ 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci.. c:function:: PyObject* PyByteArray_FromObject(PyObject *o) 417db96d56Sopenharmony_ci 427db96d56Sopenharmony_ci Return a new bytearray object from any object, *o*, that implements the 437db96d56Sopenharmony_ci :ref:`buffer protocol <bufferobjects>`. 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci.. c:function:: PyObject* PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len) 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ci Create a new bytearray object from *string* and its length, *len*. On 497db96d56Sopenharmony_ci failure, ``NULL`` is returned. 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ci 527db96d56Sopenharmony_ci.. c:function:: PyObject* PyByteArray_Concat(PyObject *a, PyObject *b) 537db96d56Sopenharmony_ci 547db96d56Sopenharmony_ci Concat bytearrays *a* and *b* and return a new bytearray with the result. 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_ci.. c:function:: Py_ssize_t PyByteArray_Size(PyObject *bytearray) 587db96d56Sopenharmony_ci 597db96d56Sopenharmony_ci Return the size of *bytearray* after checking for a ``NULL`` pointer. 607db96d56Sopenharmony_ci 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_ci.. c:function:: char* PyByteArray_AsString(PyObject *bytearray) 637db96d56Sopenharmony_ci 647db96d56Sopenharmony_ci Return the contents of *bytearray* as a char array after checking for a 657db96d56Sopenharmony_ci ``NULL`` pointer. The returned array always has an extra 667db96d56Sopenharmony_ci null byte appended. 677db96d56Sopenharmony_ci 687db96d56Sopenharmony_ci 697db96d56Sopenharmony_ci.. c:function:: int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len) 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ci Resize the internal buffer of *bytearray* to *len*. 727db96d56Sopenharmony_ci 737db96d56Sopenharmony_ciMacros 747db96d56Sopenharmony_ci^^^^^^ 757db96d56Sopenharmony_ci 767db96d56Sopenharmony_ciThese macros trade safety for speed and they don't check pointers. 777db96d56Sopenharmony_ci 787db96d56Sopenharmony_ci.. c:function:: char* PyByteArray_AS_STRING(PyObject *bytearray) 797db96d56Sopenharmony_ci 807db96d56Sopenharmony_ci Similar to :c:func:`PyByteArray_AsString`, but without error checking. 817db96d56Sopenharmony_ci 827db96d56Sopenharmony_ci 837db96d56Sopenharmony_ci.. c:function:: Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray) 847db96d56Sopenharmony_ci 857db96d56Sopenharmony_ci Similar to :c:func:`PyByteArray_Size`, but without error checking. 86