bytearray オブジェクト¶
-
type PyByteArrayObject¶
この
PyObjectのサブタイプは Python の bytearray オブジェクトを表します。PyByteArrayObjectの内部バッファには、ヌル終端の C 文字列との互換性のため、末尾に余分なヌルバイトが常に含まれます。 このバイトはPyByteArray_Size()の戻り値にも、以下の関数のlen引数にも含めません。
-
PyTypeObject PyByteArray_Type¶
- 次に属します: Stable ABI.
この
PyTypeObjectのインスタンスは、 Python bytearray 型を示します。 Python レイヤでのbytearrayと同じオブジェクトです。
型チェックマクロ¶
ダイレクト API 関数¶
-
PyObject *PyByteArray_FromObject(PyObject *o)¶
- 戻り値: 新しい参照。 次に属します: Stable ABI. Thread safety: Safe for concurrent use on the same object.
buffer protocol を実装した任意のオブジェクト o から、新しいbytearrayオブジェクトを作成し、返します。
失敗した場合は、例外を設定して
NULLを返します。注釈
オブジェクトがバッファプロトコルを実装している場合、bytearray オブジェクトの作成中にバッファを変更してはいけません。
-
PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)¶
- 戻り値: 新しい参照。 次に属します: Stable ABI. Thread safety: Atomic.
stringとその長さlenから新しい bytearray オブジェクトを作成します。失敗した場合は、例外を設定して
NULLを返します。
-
PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)¶
- 戻り値: 新しい参照。 次に属します: Stable ABI. Thread safety: Safe for concurrent use on the same object.
bytearray a と b を連結した結果を新しい bytearray として返します。
失敗した場合は、例外を設定して
NULLを返します。注釈
オブジェクトがバッファプロトコルを実装している場合、bytearray オブジェクトの作成中にバッファを変更してはいけません。
-
Py_ssize_t PyByteArray_Size(PyObject *bytearray)¶
- 次に属します: Stable ABI. Thread safety: Atomic.
NULLポインタチェックの後に bytearray のサイズを返します。
-
char *PyByteArray_AsString(PyObject *bytearray)¶
- 次に属します: Stable ABI. Thread safety: Safe to call from multiple threads with external synchronization only.
NULLポインタチェックの後に bytearray の内容を char 配列として返します。 返される配列には、常に余分な null バイトが追加されます。注釈
返された char 配列の使用中に bytearray オブジェクトを変更する操作はスレッドセーフではありません。
-
int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)¶
- 次に属します: Stable ABI.
bytearrayの内部バッファのサイズをlenに変更します。 失敗した場合は、例外を設定して-1を返します。バージョン 3.14 で変更:
lenが負の場合は、例外を設定して -1 を返すようになりました。
マクロ¶
以下のマクロは、ポインタのチェックをしないことにより安全性を犠牲にしてスピードを優先しています。
-
char *PyByteArray_AS_STRING(PyObject *bytearray)¶
- Thread safety: Safe to call from multiple threads with external synchronization only.
PyByteArray_AsString()に似ていますが、エラーチェックを行いません。注釈
返された char 配列の使用中に bytearray オブジェクトを変更する操作はスレッドセーフではありません。
-
Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)¶
- Thread safety: Atomic.
PyByteArray_Size()に似ていますが、エラーチェックを行いません。