Đối tượng mảng byte

type PyByteArrayObject

Kiểu con này của PyObject đại diện cho một đối tượng bytearray của Python.

PyTypeObject PyByteArray_Type
Một phần của ABI ổn định.

Phiên bản PyTypeObject này đại diện cho kiểu bytearray của Python; nó là đối tượng tương tự như bytearray trong lớp Python.

Nhập macro kiểm tra

int PyByteArray_Check(PyObject *o)

Trả về true nếu đối tượng o là đối tượng bytearray hoặc một thể hiện của một kiểu con của kiểu bytearray. Chức năng này luôn thành công.

int PyByteArray_CheckExact(PyObject *o)

Trả về true nếu đối tượng o là đối tượng bytearray nhưng không phải là phiên bản của kiểu con của kiểu bytearray. Chức năng này luôn thành công.

Chức năng API trực tiếp

PyObject *PyByteArray_FromObject(PyObject *o)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định. Thread safety: Safe for concurrent use on the same object.

Trả về một đối tượng bytearray mới từ bất kỳ đối tượng nào, o, thực hiện buffer protocol.

Nếu không thành công, hãy trả về NULL với một bộ ngoại lệ.

Ghi chú

Nếu đối tượng thực hiện giao thức bộ đệm thì bộ đệm không được bị thay đổi trong khi đối tượng bytearray đang được tạo.

PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định. Thread safety: Atomic.

Tạo một đối tượng bytearray mới từ string và độ dài của nó, len.

Nếu không thành công, hãy trả về NULL với một bộ ngoại lệ.

PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định. Thread safety: Safe for concurrent use on the same object.

Kết hợp bytearray ab và trả về một bytearray mới cùng với kết quả.

Nếu không thành công, hãy trả về NULL với một bộ ngoại lệ.

Ghi chú

Nếu đối tượng thực hiện giao thức bộ đệm thì bộ đệm không được bị thay đổi trong khi đối tượng bytearray đang được tạo.

Py_ssize_t PyByteArray_Size(PyObject *bytearray)
Một phần của ABI ổn định. Thread safety: Atomic.

Trả về kích thước của bytearray sau khi kiểm tra con trỏ NULL.

char *PyByteArray_AsString(PyObject *bytearray)
Một phần của ABI ổn định. Thread safety: Safe to call from multiple threads with external synchronization only.

Trả về nội dung của bytearray dưới dạng mảng char sau khi kiểm tra con trỏ NULL. Mảng trả về luôn có thêm một byte rỗng được thêm vào.

Ghi chú

Sẽ không an toàn khi thay đổi đối tượng bytearray trong khi sử dụng mảng char được trả về.

int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)
Một phần của ABI ổn định.

Thay đổi kích thước bộ đệm trong của bytearray thành len. Thất bại là sự trở lại của -1 với một bộ ngoại lệ.

Thay đổi trong phiên bản 3.14: Bây giờ, len âm sẽ dẫn đến một ngoại lệ được đặt và trả về -1.

Macro

Các macro này đánh đổi sự an toàn để lấy tốc độ và chúng không kiểm tra con trỏ.

char *PyByteArray_AS_STRING(PyObject *bytearray)
Thread safety: Safe to call from multiple threads with external synchronization only.

Tương tự như PyByteArray_AsString() nhưng không có tính năng kiểm tra lỗi.

Ghi chú

Sẽ không an toàn khi thay đổi đối tượng bytearray trong khi sử dụng mảng char được trả về.

Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)
Thread safety: Atomic.

Tương tự như PyByteArray_Size() nhưng không có tính năng kiểm tra lỗi.