This document is for an old version of Python that is no longer supported. You should upgrade and read the documentação do Python para versão estável atual.

# Objetos Byte Array

Novo na versão 2.6.

`PyByteArrayObject`

  Esse subtipo de `PyObject` representa um objeto Python bytearray.

PyTypeObject `PyByteArray_Type`

  This instance of `PyTypeObject` represents the Python bytearray type; it is the same object as `bytearray` in the Python layer.

## Macros para verificação de tipo

int `PyByteArray_Check`(PyObject *o)

  Retorna verdadeiro se o objeto o for um objeto bytearray ou se for uma instância de um subtipo do tipo bytearray.

int `PyByteArray_CheckExact`(PyObject *o)

  Retorna verdadeiro se o objeto o for um objeto bytearray, mas não for uma instância de um subtipo do tipo bytearray.

## Funções diretas da API

PyObject* `PyByteArray_FromObject`(PyObject *o)

  Return a new bytearray object from any object, o, that implements the buffer protocol.

PyObject* `PyByteArray_FromStringAndSize`(const char *string, Py_ssize_t len)

  Create a new bytearray object from string and its length, len. On failure, NULL is returned.

PyObject* `PyByteArray_Concat`(PyObject *a, PyObject *b)

  Concatena os bytearrays a e b e retorna um novo bytearray com o resultado.

Py_ssize_t `PyByteArray_Size`(PyObject *bytearray)

  Return the size of bytearray after checking for a NULL pointer.

char* `PyByteArray_AsString`(PyObject *bytearray)

  Return the contents of bytearray as a char array after checking for a NULL pointer.

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

  Redimensiona o buffer interno de bytearray para o tamanho len.

## Macros

Estas macros trocam segurança por velocidade e não verificam os ponteiros.

char* `PyByteArray_AS_STRING`(PyObject *bytearray)

  Versão macro de `PyByteArray_AsString()`.

Py_ssize_t `PyByteArray_GET_SIZE`(PyObject *bytearray)

  Versão macro de `PyByteArray_Size()`.