字节数组对象 — Python 文档
来自菜鸟教程
Python/docs/3.8/c-api/bytearray
字节数组对象
- type PyByteArrayObject
- PyObject 的这个子类型表示一个 Python 字节数组对象。
- PyTypeObject PyByteArray_Type
- PyTypeObject 的这个实例代表 Python 字节数组类型; 它与 Python 层中的 bytearray 是同一个对象。
类型检查宏
- int PyByteArray_Check(PyObject *o)
- 如果对象 o 是 bytearray 对象或 bytearray 类型的子类型的实例,则返回 true。
- int PyByteArray_CheckExact(PyObject *o)
- 如果对象 o 是 bytearray 对象,但不是 bytearray 类型的子类型的实例,则返回 true。
直接 API 函数
- 从实现 缓冲区协议 的任何对象 o 返回一个新的字节数组对象。
- PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)
- 从 string 及其长度 len 创建一个新的字节数组对象。 失败时,返回
NULL
。
- 连接字节数组 a 和 b 并返回一个带有结果的新字节数组。
- Py_ssize_t PyByteArray_Size(PyObject *bytearray)
- 检查
NULL
指针后返回 bytearray 的大小。
- char *PyByteArray_AsString(PyObject *bytearray)
- 检查
NULL
指针后,将 bytearray 的内容作为字符数组返回。 返回的数组总是附加一个额外的空字节。
- 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() 的宏版本。