# Objets tableau d'octets

type PyByteArrayObject

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

PyTypeObject PyByteArray_Type
  Part of the Stable ABI.

  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`. Cette méthode réussit toujours.

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`. Cette méthode réussit toujours.

## Fonctions directes sur l'API

PyObject *PyByteArray_FromObject(PyObject *o)
  Valeur de retour : nouvelle référence. Part of the Stable ABI.

  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)
  Valeur de retour : nouvelle référence. Part of the Stable ABI.

  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)
  Valeur de retour : nouvelle référence. Part of the Stable ABI.

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

Py_ssize_t PyByteArray_Size(PyObject *bytearray)
  Part of the Stable ABI.

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

char *PyByteArray_AsString(PyObject *bytearray)
  Part of the Stable ABI.

  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)
  Part of the Stable ABI.

  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)

  Similar to `PyByteArray_AsString()`, but without error checking.

Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)

  Similar to `PyByteArray_Size()`, but without error checking.