حرف فارغ
الحرف الفارغ هو حرف تحكم قيمته صفر . [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] تتضمن العديد من مجموعات الأحرف رمزًا للحرف الفارغ ، بما في ذلك يونيكود ( مجموعة الأحرف المشفرة العالمية )، وASCII ( ISO/IEC 646 )، وبودو ، ورموز ITA2 ، ورمز التحكم C0 ، و EBCDIC . في مجموعات الأحرف الحديثة، يكون للحرف الفارغ قيمة رمزية تساوي صفرًا، والتي تُترجم عادةً إلى وحدة رمزية واحدة قيمتها صفر. على سبيل المثال، في UTF-8 ، هو بايت واحد قيمته صفر.
في الأصل، كان معناها مشابهًا لـ NOP - عند إرسالها إلى طابعة أو طرفية ، لم يكن لها أي تأثير (على الرغم من أن بعض الطرفيات كانت تعرضها بشكل خاطئ كمسافة ). عندما كانت تُستخدم الطابعات الكهروميكانيكية عن بُعد كأجهزة إخراج حاسوبية، كان يتم إرسال حرف فارغ واحد أو أكثر في نهاية كل سطر مطبوع لإتاحة الوقت للآلية للعودة إلى موضع الطباعة الأول في السطر التالي. على الشريط المثقب ، يتم تمثيل الحرف بدون أي ثقوب على الإطلاق، لذلك يتم ملء شريط جديد غير مثقب في البداية بأحرف فارغة، وغالبًا ما كان من الممكن إدراج نص في مساحة محجوزة من الأحرف الفارغة عن طريق ثقب الأحرف الجديدة في الشريط فوق الأحرف الفارغة.
السلسلة المنتهية بحرف فارغ هي بنية بيانات شائعة الاستخدام في لغة البرمجة C ، والعديد من اللغات المشتقة منها، وسياقات البرمجة الأخرى، حيث يُستخدم الحرف الفارغ للإشارة إلى نهاية السلسلة . [ 6 ] [ 7 ] يسمح هذا التصميم بأن تكون السلسلة بأي طول مقابل حرف إضافي واحد فقط من الذاكرة. أما التصميم المنافس الشائع للسلاسل فيخزن طول السلسلة كنوع بيانات عددي صحيح ، لكن هذا يحد من حجم السلسلة إلى نطاق العدد الصحيح (على سبيل المثال، 255 للبايت).
بالنسبة لتخزين البايت ، يمكن تسمية الحرف الفارغ بالبايت الفارغ .
التمثيل
بما أن الحرف الفارغ ليس حرفًا قابلاً للطباعة ، فإن تمثيله يتطلب تدوينًا خاصًا في شفرة المصدر .
في السلاسل النصية ، يُرمز للحرف الفارغ غالبًا بتسلسل الهروب\0 (على سبيل المثال، "abc\0def"0). ويُستخدم ترميز مشابه للرموز الحرفية (مثل 0 '\0')، مع أن هذا الترميز غالبًا ما يُعادل القيمة العددية للصفر (0 0). [ 8 ] في العديد من لغات البرمجة ( مثل C ، التي قدمت هذا الترميز)، لا يُعد هذا تسلسل هروب منفصلًا، بل تسلسل هروب ثماني يتكون من الرقم الثماني 0 فقط؛ ونتيجةً لذلك، \0يجب ألا يتبعه أي من الأرقام من 0 0إلى 1، 7لأنه في هذه الحالة سيُفسر على أنه بداية تسلسل هروب ثماني أطول. [ 9 ] ومن تسلسلات الهروب الأخرى المستخدمة في لغات برمجة مختلفة: \0000، \x000، \z0، أو \u00000.
يمكن وضع حرف فارغ في عنوان URL باستخدام رمز النسبة المئوية%00 .
لا يعني إمكانية تمثيل حرف فارغ بالضرورة تفسير السلسلة الناتجة بشكل صحيح، إذ تعتبر العديد من البرامج الحرف الفارغ نهاية السلسلة. وبالتالي، فإن إمكانية كتابته (في حالة إدخال المستخدم غير المُدقَّق ) تُنشئ ثغرة أمنية تُعرف باسم حقن البايت الفارغ ، وقد تؤدي إلى استغلال الثغرات الأمنية. [ 10 ]
في توثيق البرمجيات ، يُرمز إلى الحرف الفارغ عادةً بالنص NUL (أو NULL، مع العلم أن هذا قد يعني مؤشرًا فارغًا ). في يونيكود ، يوجد رمزٌ لهذا: U+2400 ␀ رمز للحرف الفارغ .
في تدوين الإقحام، يكون الحرف الفارغ هو ^@. في بعض لوحات المفاتيح، يمكن إدخال حرف فارغ عن طريق الضغط باستمرار على مفتاح معين Ctrlثم الضغط على مفتاح آخر (في تخطيطات الولايات المتحدة، غالبًا ما يكفي استخدام + ، حيث لا حاجة إلى الحصول على علامة @).@Ctrl2⇧ Shift
مراجع
- ↑ تنسيق ASCII لتبادل الشبكة . IETF . القسم 5.2. doi : 10.17487/RFC0020 . RFC 20. NUL (فارغ )
: حرف مكون من أصفار فقط، يُستخدم لتعبئة الوقت والوسائط.
- ↑ "مجموعة رموز التحكم في المواصفة القياسية ISO 646" (ملف PDF) . أمانة ISO/TC 97/SC 2. 1975-12-01. ص 4.4. مؤرشف من الأصل (ملف PDF) بتاريخ 2014-05-12.
الموضع: 0/0، الاسم: فارغ، الاختصار: فارغ
- ↑ "حرف يونيكود 'NULL' (U+0000)" . تم الاطلاع عليه بتاريخ 20-10-2018 .
- ↑ "عناصر التحكم C0 واللاتينية الأساسية" (ملف PDF) . اتحاد يونيكود. 2018. تم الاطلاع عليه بتاريخ 20-10-2018 .
- ↑ «يجب أن يوجد بايت جميع بتاته مضبوطة على 0، يُسمى الحرف الفارغ ، في مجموعة أحرف التنفيذ الأساسية؛ ويُستخدم لإنهاء سلسلة أحرف حرفية.» — ANSI/ISO 9899:1990 (معيار ANSI C)، القسم 5.2.1
- ↑ " السلسلة هي تسلسل متصل من الأحرف ينتهي بأول حرف فارغ ويتضمنه" — ANSI/ISO 9899:1990 (معيار ANSI C)، القسم 7.1.1
- ↑ "17.5.2.1.4.1 سلاسل البايت"، مسودة عمل، معيار لغة البرمجة C++ (PDF) (مسودة عمل معيار ISO 14882)، ISO / IEC ، 28 فبراير 2011، ص 427، N3242=11-0012 ، تم استرجاعه في 29 يونيو 2026 ،
سلسلة
البايت المنتهية بحرف فارغ
، أو NTBS، هي سلسلة أحرف يكون أعلى عنصر مُعنون له محتوى مُحدد قيمته صفر ( حرف
الإنهاء الفارغ
)؛ ولا يوجد عنصر آخر في السلسلة له القيمة صفر.
- ↑ كيرنيغان وريتشي، ج ، ص 38: "يمثل الثابت الحرفي '\0' الحرف ذو القيمة صفر، الحرف الفارغ. غالبًا ما يُكتب '\0' بدلًا من 0 للتأكيد على طبيعة الحرف في بعض التعبيرات، لكن القيمة العددية هي 0 فقط."
- ↑ في YAML، هذا التركيب عبارة عن تسلسل هروب منفصل .
- ↑ قسم هجوم حقن البايت الفارغ ( WAL) في تصنيف تهديدات WASC.
روابط خارجية
- قسم هجمات حقن البايت الفارغ وفقًا لتصنيف تهديدات WASC
- مقدمة عن هجوم البايت الفارغ المسموم
- ثغرة أمنية في رمز الاستجابة السريعة (QR code) تسمح بحقن بايت فارغ من Apple
- شخصيات التحكم
- ثغرات أمنية في الحاسوب
