الفرق بين المراجعتين لصفحة: «Python/int/to bytes»
أنشأ الصفحة ب'تعيد الدالة <code>to_bytes()</code> مصفوفة من البايتات تمثّل عددًا صحيحًا. == البنية العامة == <...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>to_bytes()</code> في بايثون}}</noinclude> | |||
تعيد الدالة <code>to_bytes()</code> مصفوفة من البايتات تمثّل [[Python/int|عددًا صحيحًا]]. | تعيد الدالة <code>to_bytes()</code> مصفوفة من البايتات تمثّل [[Python/int|عددًا صحيحًا]]. | ||
مراجعة 08:02، 30 أبريل 2018
تعيد الدالة to_bytes()
مصفوفة من البايتات تمثّل عددًا صحيحًا.
البنية العامة
x.to_bytes()
المعاملات
length
عدد البايتات التي تستخدمها الدالة لتمثيل العدد الصحيح. في حال كان العدد الصحيح غير قابل للتمثيل باستخدام العدد البايتات المحدّد في هذا الوسيط فستطلق اللغة الاستثناء OverflowError
.
byteorder
يحدد هذا الوسيط ترتيب البايتات المستخدمة لتمثيل العدد الصحيح. يأخذ هذا المعامل القيمة "big"
ويصبح البايت الأكثر أهمّية في بداية مصفوفة البايتات، ويأخذ القيمة "little"
فيصبح البايت الأكثر أهمّية في نهاية مصفوفة البايتات. وللحصول على الترتيب المعتمد في النظام المضيف يمكن استخدام sys.byteorder
كقيمة لهذا الوسيط.
signed
يحدّد هذا الوسيط ما إذا سيتم استخدام متمّم الاثنين (two’s complement) لتمثيل العدد الصحيح. إن أخذ هذا الوسيط القيمة False
ومُرّر إلى الدالة عدد صحيح سالب، تطلق اللغة الاستثناء OverflowError
. القيمة الافتراضية لهذا الوسيط هي False
.
ملاحظة: هذه الدالة جديدة في الإصدار 3.2.
أمثلة
يوضح المثال التالي النتائج المعادة من استخدام الدالة to_bytes()
مع معاملات مختلفة:
>>> (1024).to_bytes(2, byteorder='big')
b'\x04\x00'
>>> (1024).to_bytes(10, byteorder='big')
b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00'
>>> (-1024).to_bytes(10, byteorder='big', signed=True)
b'\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x00'
>>> x = 1000
>>> x.to_bytes((x.bit_length() + 7) // 8, byteorder='little')
b'\xe8\x03'