位元組陣列物件 (Byte Array Objects)

typePyByteArrayObject

這個PyObject 的子型別代表了 Python 的位元組陣列物件。

PyTypeObjectPyByteArray_Type
穩定 ABI 的一部分.

這個PyTypeObject 的實例代表了 Python 的位元組陣列型別;在 Python 層中的bytearray 為同一個物件。

型別檢查巨集

intPyByteArray_Check(PyObject*o)

如果物件o 是一個位元組陣列物件,或者是位元組陣列型別的子型別的實例,則回傳真值。此函式總是會成功執行。

intPyByteArray_CheckExact(PyObject*o)

如果物件o 是一個位元組陣列物件,但不是位元組陣列型別的子型別的實例,則回傳真值。此函式總是會成功執行。

直接 API 函式

PyObject*PyByteArray_FromObject(PyObject*o)
回傳值:新的參照。穩定 ABI 的一部分.

由任意物件o 回傳一個新的位元組陣列物件,並實作了緩衝協議 (buffer protocol)

在失敗時,會回傳NULL 並設定例外。

PyObject*PyByteArray_FromStringAndSize(constchar*string,Py_ssize_tlen)
回傳值:新的參照。穩定 ABI 的一部分.

string 及其長度len 建立一個新的位元組陣列物件。

在失敗時,會回傳NULL 並設定例外。

PyObject*PyByteArray_Concat(PyObject*a,PyObject*b)
回傳值:新的參照。穩定 ABI 的一部分.

連接位元組陣列ab,並回傳一個包含結果的新位元組陣列。

在失敗時,會回傳NULL 並設定例外。

Py_ssize_tPyByteArray_Size(PyObject*bytearray)
穩定 ABI 的一部分.

在檢查為NULL 指標後,回傳bytearray 的大小。

char*PyByteArray_AsString(PyObject*bytearray)
穩定 ABI 的一部分.

在檢查是否為NULL 指標後,將bytearray 的內容回傳為字元陣列。回傳的陣列總是會多附加一個空位元組。

intPyByteArray_Resize(PyObject*bytearray,Py_ssize_tlen)
穩定 ABI 的一部分.

bytearray 的內部緩衝區大小調整為len

巨集

這些巨集犧牲了安全性以換取速度,並且它們不會檢查指標。

char*PyByteArray_AS_STRING(PyObject*bytearray)

PyByteArray_AsString() 類似,但沒有錯誤檢查。

Py_ssize_tPyByteArray_GET_SIZE(PyObject*bytearray)

PyByteArray_Size() 類似,但沒有錯誤檢查。