# Objets tableau d'octets

`PyByteArrayObject`

  Ce sous-type de `PyObject` représente un objet `bytearray` Python.

PyTypeObject `PyByteArray_Type`

  Cette instance de `PyTypeObject` représente le type Python bytearray, c'est le même que `bytearray` côté Python.

## Macros de vérification de type

int `PyByteArray_Check`(PyObject *o)

  Renvoie vrai si l'objet o est un `bytearray` ou une instance d'un sous-type du type `bytearray`.

int `PyByteArray_CheckExact`(PyObject *o)

  Renvoie vrai si l'objet o est un `bytearray`, mais pas une instance d'un sous-type du type `bytearray`.

## Fonctions directes sur l'API

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

  Renvoie un nouvel objet bytearray depuis n'importe quel objet, o, qui implémente le protocole buffer.

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

  Crée un nouvel objet `bytearray` à partir d'un objet string et de sa longueur, len. En cas d'échec, `NULL` est renvoyé.

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

  Concatène les `bytearrays` a et b et renvoie un nouveau `bytearray` avec le résultat.

Py_ssize_t `PyByteArray_Size`(PyObject *bytearray)

  Renvoie la taille de bytearray après vérification de la présence d'un pointeur `NULL`.

char* `PyByteArray_AsString`(PyObject *bytearray)

  Renvoie le contenu de bytearray sous forme d'un tableau de caractères, en vérifiant que ce n'est pas un pointeur `NULL`. Le tableau renvoyé a toujours un caractère null rajouté.

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

  Redimensionne le tampon interne de bytearray à la taille len.

## Macros

Ces macros sont taillées pour la vitesse d'exécution et ne vérifient pas les pointeurs.

char* `PyByteArray_AS_STRING`(PyObject *bytearray)

  Version macro de `PyByteArray_AsString()`.

Py_ssize_t `PyByteArray_GET_SIZE`(PyObject *bytearray)

  Version macro de `PyByteArray_Size()`.