位元組陣列物件 (Byte Array Objects)¶
- PyTypeObjectPyByteArray_Type¶
- 為穩定 ABI 的一部分.
這個
PyTypeObject
的實例代表了 Python 的位元組陣列型別;在 Python 層中的bytearray
為同一個物件。
型別檢查巨集¶
直接 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 的一部分.
連接位元組陣列a 和b,並回傳一個包含結果的新位元組陣列。
在失敗時,會回傳
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()
類似,但沒有錯誤檢查。