اشیاء آرایه‌ی بایت

type PyByteArrayObject

این زیرنوع از PyObject نشان‌دهنده‌ی یک شیء bytearray پایتون است.

PyTypeObject PyByteArray_Type
قسمتی از ABI پایدار.

این نمونه از PyTypeObject نشان‌دهنده‌ی نوع bytearray پایتون است؛ این همان شیء‌ای است که در لایه‌ی پایتون با نام bytearray شناخته می‌شود.

ماکروهای بررسی نوع

int PyByteArray_Check(PyObject *o)

اگر شیء o یک شیء bytearray یا نمونه‌ای از زیرنوعی از نوع bytearray باشد، مقدار true را برمی‌گرداند. این تابع همیشه با موفقیت اجرا می‌شود.

int PyByteArray_CheckExact(PyObject *o)

اگر شیء o یک شیء bytearray باشد، اما نمونه‌ای از زیرنوعی از نوع bytearray نباشد، مقدار true را برمی‌گرداند. این تابع همیشه با موفقیت اجرا می‌شود.

توابع مستقیم API

PyObject *PyByteArray_FromObject(PyObject *o)
مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار. Thread safety: Safe for concurrent use on the same object.

یک شیء bytearray جدید از هر شیء o که پروتکل بافر را پیاده‌سازی کرده است، برمی‌گرداند.

در صورت شکست، مقدار NULL را با یک استثنا باز می‌گرداند.

توجه

اگر شیء پروتکل بافر را پیاده‌سازی کرده باشد، در حین ایجاد شیء bytearray نباید بافر تغییر داده شود.

PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)
مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار. Thread safety: Atomic.

یک شیء bytearray جدید از string و طول آن len، ایجاد کنید.

در صورت شکست، مقدار NULL را با یک استثنا باز می‌گرداند.

PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)
مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار. Thread safety: Safe for concurrent use on the same object.

bytearrayهای a و b را به هم متصل کنید و یک bytearray جدید با نتیجه بازگردانید.

در صورت شکست، مقدار NULL را با یک استثنا باز می‌گرداند.

توجه

اگر شیء پروتکل بافر را پیاده‌سازی کرده باشد، در حین ایجاد شیء bytearray نباید بافر تغییر داده شود.

Py_ssize_t PyByteArray_Size(PyObject *bytearray)
قسمتی از ABI پایدار. Thread safety: Atomic.

اندازهٔ bytearray را پس از بررسی اشاره‌گر NULL بازگردانید.

char *PyByteArray_AsString(PyObject *bytearray)
قسمتی از ABI پایدار. Thread safety: Safe to call from multiple threads with external synchronization only.

محتوای bytearray را پس از بررسی اشاره‌گر NULL به‌صورت یک آرایه نویسه‌ای (char array) بازگردانید. آرایه‌ی برگشتی همیشه دارای یک بایت null اضافی در انتها است.

توجه

زمانی که از آرایه‌ی نویسه‌ای برگشتی استفاده می‌شود، تغییر دادن شیء bytearray ایمن از نظر ریسه‌ها نیست.

int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)
قسمتی از ABI پایدار.

بافر داخلی bytearray را به اندازه‌ی len تغییر اندازه دهید. در صورت شکست، مقدار -1 به همراه یک استثنا بازگردانده می‌شود.

تغییر داده شده در نسخه 3.14: اکنون len منفی باعث می‌شود که یک استثنا تنظیم شده و مقدار -1 بازگردانده شود.

ماکروها

این ماکروها ایمنی را فدای سرعت می‌کنند و اشاره‌گرها را بررسی نمی‌کنند.

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

مشابه PyByteArray_AsString()، اما بدون بررسی خطا.

توجه

زمانی که از آرایه‌ی نویسه‌ای برگشتی استفاده می‌شود، تغییر دادن شیء bytearray ایمن از نظر ریسه‌ها نیست.

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

مشابه PyByteArray_Size()، اما بدون بررسی خطا.