字节数组对象
- type PyByteArrayObject
- 这个
PyObject
的子类型表示一个 Python 字节数组对象。
- PyTypeObject PyByteArray_Type
- 属于 稳定 ABI.
Python bytearray 类型表示为
PyTypeObject
的实例;这与Python层面的bytearray
是相同的对象。
类型检查宏
- int PyByteArray_Check(PyObject *o)
- 如果对象 o 是一个 bytearray 对象或者 bytearray 类型的子类型的实例则返回真值。 此函数总是会成功执行。
- int PyByteArray_CheckExact(PyObject *o)
- 如果对象 o 是一个 bytearray 对象但不是 bytearray 类型的子类型的实例则返回真值。 此函数总是会成功执行。
直接 API 函数
当失败时,将返回 NULL
并设置一个异常。
- PyObject PyByteArray_FromStringAndSize(const char string, Py_ssize_t len)
- 返回值:新的引用。 属于 稳定 ABI. 根据 string 和它的长度 len 新建一个字节数组对象。
当失败时,将返回 NULL
并设置一个异常。
- 返回值:新的引用。 属于 稳定 ABI. 连接字节数组 a 和 b 并返回一个带有结果的新的字节数组。
当失败时,将返回 NULL
并设置一个异常。
- Py_ssize_t PyByteArray_Size(PyObject *bytearray)
- 属于 稳定 ABI.
在检查
NULL
指针后返回 bytearray 的大小。
- char PyByteArray_AsString(PyObject bytearray)
- 属于 稳定 ABI.
在检查
NULL
指针后返回将 bytearray 返回为一个字符数组。 返回的数组总是会附加一个额外的空字节。
- int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)
- 属于 稳定 ABI. 将 bytearray 的内部缓冲区的大小调整为 len。
宏
这些宏减低安全性以换取性能,它们不检查指针。
- char PyByteArray_AS_STRING(PyObject bytearray)
- 类似于
PyByteArray_AsString()
,但是不带错误检测。
- Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)
- 类似于
PyByteArray_Size()
,但是不带错误检测。