@ و= يتبعان ترتيب بايتات الجهاز؛ قواعد الحجم والمحاذاة تختلف. [1]
الخلاصة السريعة
ليس بالضرورة؛ ترتيب البايتات وحده لا يحدد التخطيط. [1]
- @ و= يتبعان ترتيب بايتات الجهاز؛ قواعد الحجم والمحاذاة تختلف. [1]
- b عدد موقّع ببايت؛ I غير موقّع؛ @ حجم ومحاذاة محليان؛ = أحجام قياسية بلا محاذاة. [1]
- CPython 3.12.14 على Windows AMD64: @bI للقيمتين 9 و0x11223344 ينتج 8 بايتات. [1]
- =bI يعطي 5 بايتات؛ @bI أضاف 3 صفريات بعد البايت الأول للمحاذاة في بيئتنا. [1]
- تحكم: بايتات مؤلفة وحساب مستقل يطابقان الحزم؛ فك كل حزمة بصيغتها يعيد القيمتين؛ النتائج المحلية ليست وعدًا لكل منصة. [1]
ترتيب بايتات الجهاز
@ و= يتبعان ترتيب بايتات الجهاز؛ قواعد الحجم والمحاذاة تختلف. [1]
المحاذاة والحجم
b عدد موقّع ببايت؛ I غير موقّع؛ @ حجم ومحاذاة محليان؛ = أحجام قياسية بلا محاذاة. [1]
التخطيط المحلي
CPython 3.12.14 على Windows AMD64: @bI للقيمتين 9 و0x11223344 ينتج 8 بايتات. [1]
import struct values=(9,0x11223344) native=struct.pack("@bI",*values) print(native.hex(),len(native)) [1]

بلا حشو والتحكم
=bI يعطي 5 بايتات؛ @bI أضاف 3 صفريات بعد البايت الأول للمحاذاة في بيئتنا. [1]
standard=struct.pack("=bI",*values) print(standard.hex(),len(standard)) print(struct.unpack("@bI",native)) print(struct.unpack("=bI",standard)) [1]
تحكم: بايتات مؤلفة وحساب مستقل يطابقان الحزم؛ فك كل حزمة بصيغتها يعيد القيمتين؛ النتائج المحلية ليست وعدًا لكل منصة. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
