صيغة p تبدأ ببايت طول، سقفه 255؛ الناتج المفكوك لا يتجاوز 255 بايتًا. [1]
الخلاصة السريعة
لا؛ زيادة حجم الحقل لا ترفع هذا الحد. [1]
- صيغة p تبدأ ببايت طول، سقفه 255؛ الناتج المفكوك لا يتجاوز 255 بايتًا. [1]
- 300p حجم الحقل كله 300 بايت، وليس وعدًا بإعادة 300 بايت بيانات. [1]
- على CPython 3.12.14، raw=b"x"*280؛ حزمة 300p طولها 300؛ بايت الطول 255. [1]
- فكها يعيد 255 بايتًا كلها x؛ 400p يعيد 255 أيضًا. [1]
- تحكم: مدخل 255 بايتًا يعود كما هو؛ تركيب الحزم مستقلًا مطابق؛ يبقى raw بطول 280. [1]
بايت الطول
صيغة p تبدأ ببايت طول، سقفه 255؛ الناتج المفكوك لا يتجاوز 255 بايتًا. [1]
حجم الحقل
300p حجم الحقل كله 300 بايت، وليس وعدًا بإعادة 300 بايت بيانات. [1]
مدخل أطول
على CPython 3.12.14، raw=b"x"*280؛ حزمة 300p طولها 300؛ بايت الطول 255. [1]
import struct raw=b"x"*280 packet=struct.pack("300p",raw) print(len(packet),packet[0],len(struct.unpack("300p",packet)[0])) [1]

الحد والتحكم
فكها يعيد 255 بايتًا كلها x؛ 400p يعيد 255 أيضًا. [1]
larger=struct.pack("400p",raw) print(len(larger),len(struct.unpack("400p",larger)[0])) control=b"x"*255 print(struct.unpack("300p",struct.pack("300p",control))[0]==control) [1]
تحكم: مدخل 255 بايتًا يعود كما هو؛ تركيب الحزم مستقلًا مطابق؛ يبقى raw بطول 280. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
