pack_into تكتب في بافر قابل للكتابة عند الإزاحة المطلوبة. [1]
الخلاصة السريعة
لا؛ تستبدل البايتات في موضعها في مثالنا. [1]
- pack_into تكتب في بافر قابل للكتابة عند الإزاحة المطلوبة. [1]
- الصيغة >H تكتب بايتين لعدد غير موقّع، والبايت الأعلى أولًا. [1]
- على CPython 3.12.14، نكتب 0x1234 عند الإزاحة 2 في buf بطول 6. [1]
- البايتات بالست عشري: 41 42 12 34 45 46؛ الطول 6، والنتيجة None؛ تبقى البداية والنهاية. [1]
- تحكم: تركيب البايتات مستقلًا يطابق الناتج؛ الإزاحة 5 ترفع struct.error دون تغيير البافر أو توسعته. [1]
كتابة عند موضع
pack_into تكتب في بافر قابل للكتابة عند الإزاحة المطلوبة. [1]
حجم الكتابة
الصيغة >H تكتب بايتين لعدد غير موقّع، والبايت الأعلى أولًا. [1]
بايتان وسط البافر
على CPython 3.12.14، نكتب 0x1234 عند الإزاحة 2 في buf بطول 6. [1]
import struct buf=bytearray(b"ABCDEF") result=struct.pack_into(">H",buf,2,0x1234) print(buf.hex(),len(buf),result) [1]

الاستبدال والتحكم
البايتات بالست عشري: 41 42 12 34 45 46؛ الطول 6، والنتيجة None؛ تبقى البداية والنهاية. [1]
try: struct.pack_into(">H",buf,5,0x1234) except struct.error: print("struct.error") [1]
تحكم: تركيب البايتات مستقلًا يطابق الناتج؛ الإزاحة 5 ترفع struct.error دون تغيير البافر أو توسعته. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
