# Objetos de arreglos de bytes (bytearrays)

`PyByteArrayObject`

  Este subtipo de `PyObject` representa un objeto arreglo de bytes de Python.

PyTypeObject `PyByteArray_Type`

  Esta instancia de `PyTypeObject` representa el tipo arreglo de bytes de Python; es el mismo objeto que `bytearray` en la capa de Python.

## Macros de verificación de tipos

int `PyByteArray_Check`(PyObject *o)

  Retorna verdadero si el objeto o es un objeto de arreglo de bytes o una instancia de un subtipo del tipo arreglo de bytes. Esta función siempre finaliza con éxito.

int `PyByteArray_CheckExact`(PyObject *o)

  Retorna verdadero si el objeto o es un objeto de arreglo de bytes, pero no una instancia de un subtipo del tipo arreglo de bytes. Esta función siempre finaliza con éxito.

## Funciones API directas

PyObject* `PyByteArray_FromObject`(PyObject *o)
  Return value: New reference.

  Retorna un nuevo objeto de arreglo de bytes de cualquier objeto, o, que implementa el buffer protocol.

PyObject* `PyByteArray_FromStringAndSize`(const char *string, Py_ssize_t len)
  Return value: New reference.

  Crea un nuevo objeto de arreglo de bytes a partir de string y su longitud, len. En caso de fallo, se retorna `NULL`.

PyObject* `PyByteArray_Concat`(PyObject *a, PyObject *b)
  Return value: New reference.

  Une los arreglos de bytes (bytearrays) a y b y retorna un nuevo arreglo de bytes (bytearray) con el resultado.

Py_ssize_t `PyByteArray_Size`(PyObject *bytearray)

  Retorna el tamaño de bytearray después de buscar un puntero `NULL`.

char* `PyByteArray_AsString`(PyObject *bytearray)

  Retorna el contenido de bytearray como un arreglo de caracteres después de verificar un puntero `NULL`. La arreglo retornado siempre tiene un byte nulo adicional agregado.

int `PyByteArray_Resize`(PyObject *bytearray, Py_ssize_t len)

  Cambia el tamaño del búfer interno de bytearray a len.

## Macros

Estos macros intercambian seguridad por velocidad y no comprueban punteros.

char* `PyByteArray_AS_STRING`(PyObject *bytearray)

  Versión macro de `PyByteArray_AsString()`.

Py_ssize_t `PyByteArray_GET_SIZE`(PyObject *bytearray)

  Versión macro de `PyByteArray_Size()`.