تدوين الإقحام

تُستخدم علامة الإقحام (^) لتمثيل أحرف التحكم في نظام ASCII . تُخصص هذه العلامة ^Aرمز التحكم 1، ثم تُخصص رمز التحكم 26  بالتسلسل الأبجدي. بالنسبة لأحرف التحكم خارج النطاق من 1 إلى 26، تمتد العلامة لتشمل أحرف ASCII المجاورة غير الأبجدية؛ على سبيل المثال، تُستخدم علامة الإقحام (^ ) لرمز التحكم 0 .^Z  ^@

في كثير من الأحيان، يمكن كتابة حرف تحكم على لوحة المفاتيح بالضغط باستمرار على مفتاح Ctrl Ctrlوكتابة الحرف الظاهر بعده. ويُستخدم هذا الرمز غالبًا لوصف اختصارات لوحة المفاتيح حتى وإن لم يُستخدم حرف التحكم فعليًا (كما في "اكتب Ctrl + X لقص النص ").

لا يتم تحديد معنى أو تفسير أو الاستجابة لرموز التحكم الفردية بواسطة الأحرف المكتوبة بعلامة الإقحام.

وصف

تتكون هذه الصيغة من علامة الإقحام ( ^ ) متبوعة بحرف واحد (عادةً حرف كبير). يُمثل الحرف رمز ASCII مساويًا لرمز التحكم مع عكس البت الذي يُمثل 0x40. تُعد هذه الصيغة وسيلة تذكير مفيدة، حيث تُحوّل رموز التحكم من 1 إلى 26 إلى ^A إلى ^Z . تُقابل سبعة أحرف تحكم ASCII خارج نطاق الأحرف الكبيرة: 0 ( NUL ) هو ^@ ، و27 ( ESC ) هو ^[ ، و28 ( FS ) هو ^\ ، و29 ( GS ) هو ^] ، و30 ( RS ) هو ^^ ، و31 ( US ) هو ^_ ، و127 ( DEL ) هو ^ ؟.

ومن الأمثلة على ذلك " ^M^J " لزوج سطر جديد CR وLF في نظام التشغيل Windows ، ووصف تسلسل الهروب ANSI لمسح الشاشة على النحو التالي " ^[[3J ".

يُسمح تحديدًا باستخدام الأحرف ضمن النطاق 63-95 (" ?@ABC...XYZ[\]^_ ") في هذه الصيغة، ولكن استخدام الأحرف الأبجدية الصغيرة المُدخلة من لوحة المفاتيح مسموح به دائمًا تقريبًا، حيث تُعامل معاملة الأحرف الكبيرة. عند التحويل إلى حرف تحكم، باستثناء علامة الاستفهام '؟'، فإن استخدام القناع 0x1F يُنتج النتيجة نفسها، ويُحوّل الأحرف الصغيرة إلى حرف التحكم نفسه المُستخدم للأحرف الكبيرة.

لا يوجد إصدار مُقابل لرمز الإقحام (caret) لرموز التحكم التي يزيد عدد بتاتها عن 7  بتات، مثل أحرف التحكم C1 من 128 إلى 159 (0x80 إلى 0x9F). تُظهر بعض البرامج التي تُنتج رمز الإقحام هذه الرموز باستخدام الشرطة المائلة العكسية والنظام الثماني (" \200 " إلى " \237 "). انظر أيضًا رمز الشريط المستخدم في أجهزة Acorn Computers، أدناه .

تاريخ

يعود هذا الاصطلاح إلى جهاز PDP-6 (1964) على الأقل من شركة Digital Equipment Corporation (DEC) ونظام تشغيلها الخاص به. يصف دليل استخدام PDP-6 علامة + بأنها تطبع C، أي سهمًا صغيرًا مرفوعًا للأعلى قبل حرف C. [ 1 ] عند الانتقال من ترميز ASCII لعام 1961 إلى ترميز ASCII لعام 1968، استُبدل السهم المرفوع بعلامة الإقحام (^). [ 2 ] استخدم جهاز PDP- 10 ، خليفة PDP-6 ، ونظام تشغيله نفس الاصطلاح. كما اعتمدت بعض أنظمة التشغيل الأخرى غير التابعة لشركة DEC لأجهزة PDP-10، مثل TENEX [ 3 ] و ITS [ 4 ] ، هذا الاصطلاح أيضًا.ControlC

تم استخدام نفس الاصطلاح في أنظمة التشغيل الخاصة بشركة DEC لجهاز الكمبيوتر المصغر PDP-11 ، مثل RT-11 ، [ 5 ] و RSTS ، [ 6 ] [ 7 ] و RSX-11M . [ 8 ]

لم تستخدم الإصدارات السابقة من يونكس اصطلاح علامة الإقحام لعرض أحرف التحكم غير القابلة للطباعة، على الرغم من أن الأمر stty كان يقبل تدوين علامة الإقحام عند تعيين أحرف مسح الأحرف وحذف الأسطر. [ 9 ] أضاف نظام 4BSD وضع ctlecho الذي تُعرض فيه أحرف التحكم باستخدام تدوين علامة الإقحام؛ [ 10 ] وقد اعتمدته الأنظمة الحديثة الشبيهة بيونكس تحت اسم echoctl . [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ]

الاستخدام في البرامج

تُستخدم رموز الإقحام لوصف أحرف التحكم في مخرجات العديد من البرامج، وخاصةً في أنظمة يونكس . ويمكن رؤيتها عند عرض الأحرف أثناء كتابتها كمدخلات، وعند عرض محتويات الملفات في محرر النصوص، أو باستخدام أوامر more و less .

تتيح العديد من المحطات الطرفية ومحاكياتها للمستخدم إدخال حرف تحكم بالضغط المطوّل على حرف علامة الإقحام وكتابته. لا يمكن إدخال العديد من أحرف التحكم (مثل EOT ) مباشرةً من لوحة المفاتيح. عادةً ما يتم تجنب الحاجة إلى الضغط المطوّل (على سبيل المثال، تعمل الأحرف الصغيرة تمامًا كالأحرف الكبيرة). في تخطيط لوحة المفاتيح الأمريكية، ينتج عن علامة + الحرف DEL، وينتج عن علامة + الحرف ^@. من الشائع أيضًا أن ينتج عن علامة + الحرف ^@.Ctrl⇧ Shiftctrl/ctrl2ctrlspace

أثرت هذه المراسلات على الاختصارات المستخدمة حتى في البرامج الحديثة. على سبيل المثال، قد يكون من المغري جعل + تعني "مساعدة"، لكن هذا هو نفس رمز ، لذلك تم ابتكار اختصارات أخرى للمساعدة.CtrlH← Backspace

رموز بديلة

تستخدم واجهة برمجة تطبيقات معالجة السلاسل النصية GSTrans في أنظمة تشغيل Acorn Atom و BBC Micro ، وفي نظام RISC OS لأجهزة Acorn Archimedes والإصدارات الأحدث، رمز الخط العمودي (البار) |بدلاً من علامة الإقحام (caret). على سبيل المثال، |M(يُنطق "control  em"، كما هو الحال مع الترميز ^M) هو رمز إرجاع السطر ، ASCII 13. ||هو رمز الخط العمودي 124، |?هو الرمز 127 كما هو مذكور أعلاه، |!ويضيف 128 إلى رمز الرمز الذي يليه، لذا |!|?فإن الرمز هو 128 + 127 = 255 .

انظر أيضاً

مراجع

  1. برنامج المشاركة الزمنية PDP-6 (ملف PDF) . شركة المعدات الرقمية. ص  4.
  2. هاينز، جيم (13 يناير 2015). "من واقع تجربة شخصية: تشاد هو منتجنا الأهم: ذكريات مهندس عن شركة تيليتايب" . موسوعة تاريخ الهندسة والتكنولوجيا (ETHW). مؤرشف من الأصل في 31 أكتوبر 2016. تم الاطلاع عليه في 31 أكتوبر 2016. حدث تغيير من ترميز ASCII لعام 1961 إلى ترميز ASCII لعام 1968. استخدمت بعض لغات البرمجة أحرفًا من ترميز ASCII لعام 1961، مثل السهم لأعلى والسهم لليسار. اختفت هذه الأحرف من ترميز ASCII لعام 1968. عملنا مع فريد موكينج، الذي كان يعمل آنذاك في قسم المبيعات في شركة تيليتايب ، على تصميم أسطوانة طباعة تُراعي الأحرف المتغيرة بحيث لا تُفقد معاني ترميز ASCII لعام 1961 تمامًا. صُمم حرف الشرطة السفلية بشكل إسفيني ليُستخدم أيضًا كسهم لليسار.
  3. دليل المستخدم التنفيذي لبرنامج TENEX (ملف PDF) . بولت، بيرانيك، ونيومان . أبريل 1973. الصفحات 17-18 . 
  4. "ITSTTY" .
  5. دليل مرجعي لنظام RT-11 (ملف PDF) . شركة ديجيتال إكويبمنت . سبتمبر 1973. ص 2 - 3. DEC-11-ORUGA-AD. 
  6. دليل مستخدم نظام مشاركة الوقت للموارد PDP-11 (RSTS-11) لغة برمجة BASIC-Plus (ملف PDF) . شركة Digital Equipment Corporation . سبتمبر 1973. ص 1-6 . PL-11-71-01-01-AD. 
  7. دليل مستخدم نظام RSTS-11 (ملف PDF) . شركة ديجيتال إكويبمنت . يوليو 1975. الصفحات 3-2 – 3-3 . DEC-11-ORSUA-DD. 
  8. دليل إجراءات تشغيل RSX-11M (ملف PDF) . شركة ديجيتال إكويبمنت . 1975. الصفحات 2-2 – 2-4 . DEC-11-OMOGA-BD. 
  9. دليل مبرمج يونكس الإصدار 7stty(1)  
  10. stty(1) دليل مبرمج يونكس 4BSD
  11. دليل مستخدم لينكس – أوامر المستخدم من Manned.orgstty(1)  
  12. دليل مرجعي لأوامر المستخدم لنظام التشغيل سولاريس 11.4stty(1)  
  13. دليل الأوامر العامة لنظام FreeBSDstty(1)  
  14. دليل الأوامر العامة لنظامي التشغيل داروين وماك أو إسstty(1)  
  15. دليل أوامر مستخدم HP-UX 11istty(1)  
  16. stty - دليل أوامر نظام التشغيل AIX