バイト配列オブジェクト—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.9/c-api/bytearray
移動先:案内検索

バイト配列オブジェクト

type PyByteArrayObject
PyObject のこのサブタイプは、Pythonバイト配列オブジェクトを表します。
PyTypeObject PyByteArray_Type
PyTypeObject のこのインスタンスは、Pythonバイトアレイタイプを表します。 Pythonレイヤーの bytearray と同じオブジェクトです。

タイプチェックマクロ

int PyByteArray_Check(PyObject *o)
オブジェクト o がバイト配列オブジェクトまたはバイト配列タイプのサブタイプのインスタンスである場合、trueを返します。 この関数は常に成功します。
int PyByteArray_CheckExact(PyObject *o)
オブジェクト o がbytearrayオブジェクトであるが、bytearrayタイプのサブタイプのインスタンスではない場合、trueを返します。 この関数は常に成功します。


直接API関数

PyObject *PyByteArray_FromObject(PyObject *o)
バッファプロトコルを実装する任意のオブジェクト o から新しいbytearrayオブジェクトを返します。
PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)
string とその長さ len から新しいbytearrayオブジェクトを作成します。 失敗すると、NULLが返されます。
PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)
バイト配列 ab を連結し、結果とともに新しいバイト配列を返します。
Py_ssize_t PyByteArray_Size(PyObject *bytearray)
NULLポインターを確認した後、 bytearray のサイズを返します。
char *PyByteArray_AsString(PyObject *bytearray)
NULLポインタをチェックした後、 bytearray の内容をchar配列として返します。 返される配列には、常に追加のnullバイトが追加されます。
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()のマクロバージョン。