바이트 배열 객체
****************

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.*

   *string*과 그 길이(*len*)로부터 새로운 bytearray 객체를 만듭니다.
   실패하면, "NULL"이 반환됩니다.

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

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

Py_ssize_t PyByteArray_Size(PyObject *bytearray)

   "NULL" 포인터를 확인한 후 *bytearray*의 크기를 반환합니다.

char* PyByteArray_AsString(PyObject *bytearray)

   "NULL" 포인터를 확인한 후 *bytearray*의 내용을 char 배열로 반환합니
   다. 반환되는 배열에는 항상 여분의 널 바이트가 추가됩니다.

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()"의 매크로 버전.
