الفرق بين المراجعتين لصفحة: «Python/bytearray»

من موسوعة حسوب
إضافة الصّفحة
سطر 12: سطر 12:
=== <code>source</code> ===
=== <code>source</code> ===
مُعامل اختياريّ يُستعمل لتهيئة المصفوفة عبر عدّة طُرق مختلفة:
مُعامل اختياريّ يُستعمل لتهيئة المصفوفة عبر عدّة طُرق مختلفة:
- إن كان سلسلةً نصيّة، فيجب تمرير قيمة للمعامل <code>encoding</code> (وقيمة للمُعامل <code>errors</code> اختياريًّا)، يُحوّل الصّنف بعدها السّلسلةَ النّصيّة إلى بايتات باستخدام التّابع <code>str.encode()‎</code>.
 
- إن كان عددًا صحيحًا، فستُهيّأ المصفوفة ببايتات فارغة وسيُحدّد المُعامل حجم المصفوفة.
* إن كان سلسلةً نصيّة، فيجب تمرير قيمة للمعامل <code>encoding</code> (وقيمة للمُعامل <code>errors</code> اختياريًّا)، يُحوّل الصّنف بعدها السّلسلةَ النّصيّة إلى بايتات باستخدام التّابع <code>str.encode()‎</code>.
- إن كان كائنًا متعلّقًا بواجهة طول الذاكرة المؤقتة (buffer)، فسيُستعمل طول ذاكرة مؤقتة قابل للقراءة فقط للكائن لتهيئة مصفوفة البايتات.
* إن كان عددًا صحيحًا، فستُهيّأ المصفوفة ببايتات فارغة وسيُحدّد المُعامل حجم المصفوفة.
- إن كان كائنًا قابلًا للتّكرار (iterable) فيجب أن يحتوي على الأعداد الصّحيحة من 0 إلى 256، والتي تُستعمَل كمحتويات مبدئيّة للمصفوفة.
* إن كان كائنًا متعلّقًا بواجهة طول الذاكرة المؤقتة (buffer)، فسيُستعمل طول ذاكرة مؤقتة قابل للقراءة فقط للكائن لتهيئة مصفوفة البايتات.
* إن كان كائنًا قابلًا للتّكرار (iterable) فيجب أن يحتوي على الأعداد الصّحيحة من 0 إلى 256، والتي تُستعمَل كمحتويات مبدئيّة للمصفوفة.


=== <code>encoding</code> ===
=== <code>encoding</code> ===

مراجعة 18:36، 19 أبريل 2018

مصفوفات البايتات bytearray هي الكائنات القابلة للتغيير والتي تقابل كائنات البايتات bytes.

يُعيد الصّنف bytearray()‎ (والذي يُعامَل مُعاملة الدّلة) مصفوفة بايتات جديدة، ويكون الصّنف تسلسُلًا قابلًا للتّغيير يحتوي على الأعداد الصّحيحة ضمن المدى ‎0 <= x < 256. ويملك مُعظم التّوابع التي تملكها التّسلسلات الأخرى (كالقوائم والصّفوف مثلًا)، والمشروحة في صفحة أنواع التسلسلات القابلة للتّغيير، إضافةً إلى امتلاك مُعظم التّوابع التي يملكها النّوع bytes، انظر عمليّات البايتات.

البنية العامة

bytearray([source[, encoding[, errors]]])

المعاملات

source

مُعامل اختياريّ يُستعمل لتهيئة المصفوفة عبر عدّة طُرق مختلفة:

  • إن كان سلسلةً نصيّة، فيجب تمرير قيمة للمعامل encoding (وقيمة للمُعامل errors اختياريًّا)، يُحوّل الصّنف بعدها السّلسلةَ النّصيّة إلى بايتات باستخدام التّابع str.encode()‎.
  • إن كان عددًا صحيحًا، فستُهيّأ المصفوفة ببايتات فارغة وسيُحدّد المُعامل حجم المصفوفة.
  • إن كان كائنًا متعلّقًا بواجهة طول الذاكرة المؤقتة (buffer)، فسيُستعمل طول ذاكرة مؤقتة قابل للقراءة فقط للكائن لتهيئة مصفوفة البايتات.
  • إن كان كائنًا قابلًا للتّكرار (iterable) فيجب أن يحتوي على الأعداد الصّحيحة من 0 إلى 256، والتي تُستعمَل كمحتويات مبدئيّة للمصفوفة.

encoding

ترميز المحارف إن كانت قيمة المُعامل source سلسلةً نصيّة.

errors

يُحدّد طريقة التّعامل مع أخطاء ترميز المحارف.

القيمة المعادة

تعيد الدالة ()bytearray مصفوفة جديدة من البايتات، وهي تسلسل من الأعداد الصحيحة قابل للتغيير ضمن المدى ‎0 <= x < 256.

إن لم تُحدّد أية مُعاملات للصّنف، فستُعاد مصفوفة حجمها صفر.

أمثلة

المثال التّالي يُوضّح كيفيّة استعمال هذا الصّنف:

>>> bytearray('ABCD', 'UTF-8')
bytearray(b'ABCD')
>>> bytearray([1, 2, 3])
bytearray(b'\x01\x02\x03')
>>> bytearray(15)
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
>>> bytearray() # مصفوفة بايتات فارغة
bytearray(b'')
>>> bytearray(10) # مصفوفة بايتات فارغة ولها طول محدّد
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')

ملاحظات

  • يكون التصريح عن مصفوفات البايتات باستخدام الدالة bytearray()‎ حصرًا، ولا توجد طريقة أخرى
  • لمّا كانت مصفوفات البايتات قابلةً للتغيير فإنّها تدعم العمليات التي تُجرى على التسلسلات القابلة للتغيير، إضافةً إلى العمليات الشائعة والتي تُجرى على البايتات ومصفوفات البايتات.

انظر أيضًا

مصادر