# 바이트 배열 객체

`PyByteArrayObject`

  이 `PyObject`의 서브 형은 파이썬 bytearray 객체를 나타냅니다.

PyTypeObject `PyByteArray_Type`

  이 `PyTypeObject` 인스턴스는 파이썬 bytearray 형을 나타냅니다; 파이썬 계층의 `bytearray`와 같은 객체입니다.

## 형 검사 매크로

int `PyByteArray_Check`(PyObject *o)

  객체 o가 bytearray 객체이거나 bytearray 형의 서브 형 인스턴스면 참을 반환합니다.

int `PyByteArray_CheckExact`(PyObject *o)

  객체 o가 bytearray 객체이지만, bytearray 형의 서브 형 인스턴스는 아니면 참을 반환합니다.

## 직접 API 함수

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

  버퍼 프로토콜을 구현하는 임의의 객체(o)로부터 써서 새로운 bytearray 객체를 돌려줍니다.

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

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

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

  바이트 배열 a 와 b를 이어붙여 새로운 bytearray로 반환합니다.

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. The returned array always has an extra null byte appended.

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

  bytearray의 내부 버퍼의 크기를 len으로 조정합니다.

## 매크로

이 매크로는 속도를 위해 안전을 희생하며 포인터를 확인하지 않습니다.

char* `PyByteArray_AS_STRING`(PyObject *bytearray)

  `PyByteArray_AsString()`의 매크로 버전.

Py_ssize_t `PyByteArray_GET_SIZE`(PyObject *bytearray)

  `PyByteArray_Size()`의 매크로 버전.