GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • فهرست مطالب
  • اشیاء آرایه‌ی بایت
  • اشیاء بایت
  • اشیاء یونیکد و کدک‌ها
  • گزارش یک اشکال
  • بهبود این صفحه
  • نمایش منبع
  • نمایش منبع ترجمه
  • اندیس
  • ماژول‌ها
  • Python
  • 3.15.2 documentation
  • راهنمای مرجع Python/C API
  • لایه اشیاء عینی

This view

  • Original page
  • New address

GeezerVison is showing python.github.io — اشیاء آرایه‌ی بایت

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

type PyByteArrayObject¶

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

بافر داخلی PyByteArrayObject همیشه یک بایت خالی (null) اضافی در پایان برای سازگاری با رشته‌های C خاتمه‌یافته‌به‌خالی (null terminated) شامل می‌شود. این بایت اضافی در PyByteArray_Size() و نه در آرگومان‌های len توابع زیر شمارش می‌شود.

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()، اما بدون بررسی خطا.

© حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرم‌افزار پایتون نسخه ۲ منتشر شده است.
مثال‌ها، دستورالعمل‌ها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شده‌اند.
برای اطلاعات بیشتر به تاریخچه و مجوز مراجعه کنید.

بنیاد نرم‌افزار پایتون یک شرکت غیرانتفاعی است. لطفاً کمک مالی کنید.

آخرین به‌روزرسانی در نوامبر 12, 2026 (06:19 UTC). آیا اشکالی یافتید؟
ساخته شده با Sphinx 9.1.0.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.