تسلسل الهروب

في مجال الحوسبة ، تُعرف سلسلة الهروب بأنها سلسلة من الأحرف ذات دلالة خاصة، تستند إلى اصطلاح مُعتمد يُحدد بادئة حرف الهروب بالإضافة إلى بنية بقية نص السلسلة. [ 1 ] [ 2 ] يُمكن للاصطلاح أن يُعرّف أي رمز حرف مُحدد كبادئة للسلسلة. تستخدم بعض الاصطلاحات حرفًا عاديًا قابلًا للطباعة، مثل الشرطة المائلة العكسية (\) أو علامة العطف (&). بينما تستخدم اصطلاحات أخرى حرفًا غير قابل للطباعة (يُعرف أيضًا بحرف التحكم)، مثل رمز الهروب ASCII .

يعود تاريخ تسلسلات الهروب على الأقل إلى شفرة بودو لعام 1874. [ 3 ] [ 4 ] [ 5 ]

أمثلة

نقل البيانات

يُستخدم تسلسل الهروب عادةً لإزالة أحرف التحكم من تدفق البيانات لتجنب تفعيل وظيفة التحكم عن طريق الخطأ. يُستبدل حرف التحكم بحرف هروب وحرف أو أكثر لاحق. بعد تجاوز السياق الطبيعي الذي كان من المفترض أن يُفعّل فيه حرف التحكم إجراءً ما، يُستبدل التسلسل بالحرف المُزال. [ 6 ] ولإرسال حرف الهروب نفسه، تُرسل نسختان منه. [ 7 ]

نص حرفي

تُستخدم سلسلة الهروب غالبًا في الأحرف والسلاسل النصية للتعبير عن الأحرف غير القابلة للطباعة أو التي تتعارض مع بنية الأحرف أو السلاسل النصية. على سبيل المثال، قد لا يُسمح باستخدام أحرف التحكم في ملف المصدر، أو قد يكون لها آثار جانبية غير مرغوب فيها عند إدخالها في أمر ما.

من سمات لغة C والعديد من لغات البرمجة المتأثرة بها أن بداية تسلسل الهروب في النصوص الحرفية تُحدد بعلامة الشرطة المائلة العكسية ( \\). [ 8 ] [ 9 ] تشمل الأمثلة الشائعة لتسلسلات الهروب هذه في لغة C\r الأحرف و \nو لأحرف إرجاع السطر\t ، والسطر الجديد ، والجدولة ، على التوالي. ولمراعاة أن استخدام حرف قابل للطباعة للهروب يؤدي إلى فقدان هذا الحرف لمعناه الطبيعي، يُوفر تسلسل من علامتي شرطة مائلة عكسية (\) للتعبير عن علامة شرطة مائلة عكسية واحدة. يوجد أيضًا تسلسل هروب يُعبر عن أي حرف بقيمته في نظام ASCII . على سبيل المثال، يمكن التعبير عن علامة الشرطة المائلة العكسية إما بـ أو ، حيث تُحدد قيمة رمز الحرف بالنظام الست عشري والثماني ، على التوالي. وبالمثل، يمكن التعبير عن الحرف الصغير e بـ والرقم 7 بـ .\\\x5c\134\145\067

لا يُشير استخدام الشرطة المائلة العكسية متبوعةً مباشرةً بسطر جديد (وهو بالضرورة خارج سلسلة نصية حرفية) إلى تسلسل هروب. بل يمكن اعتبارها بمثابة "تجاهل السطر الجديد": حيث يقوم معالج C المسبق بدمج السطر مع السطر التالي. [ 10 ]

اقتباس من الهروب

عند الحاجة إلى استخدام حرف الهروب داخل سلسلة نصية حرفية، هناك استراتيجيتان شائعتان:

  • فاصل مزدوج - على سبيل المثال، 'He didn''t do it.'[ 7 ]
  • تسلسل الهروب الثانوي - على سبيل المثال، يقوم أمر موجه الأوامرecho Cut^&Paste بإخراج "قص ولصق" عن طريق الهروب من عامل العطف (&) باستخدام علامة الإقحام ( ^) [ 6 ]

في لغة C والعديد من اللغات المشابهة، يُستخدم رمز الشرطة المائلة العكسية ( \\) كرمز للهروب. يمكن كتابة علامة الاقتباس المفردة كـ \ '\''لأن '''\ غير صالحة. بما أن السلسلة النصية تُحدد بعلامتي اقتباس مزدوجتين (\ ")، فلا يمكن أن يحتوي المحتوى على علامة اقتباس مزدوجة إلا إذا تم تهريبها (\ "\"") أو عبر تسلسل يُحدد رمز علامة الاقتباس المزدوجة (\ \x22).

في لغة بيرل أو بايثون 2 ، الصيغة التالية غير صالحة:

"قالت نانسي للجمهور: " مرحباً بالعالم ! " "

يمكن إصلاح ذلك عن طريق إدخال شرطة مائلة عكسية للهروب:

اطبع "قالت نانسي "مرحباً بالعالم!" للجمهور."

بدلاً من ذلك، يستخدم ما يلي "\x" للإشارة إلى أن الحرفين التاليين هما أرقام سداسية عشرية؛ "22" هي قيمة ASCII السداسية العشرية لعلامة الاقتباس المزدوجة.

"قالت نانسي للجمهور : 'مرحباً بالعالم!'"

تسمح لغات البرمجة C و C++ و Java و Ruby باستخدام نمطين للهروب باستخدام الشرطة المائلة العكسية. كما يستخدم كل من PostScript و RTF الهروب باستخدام الشرطة المائلة العكسية. أما ترميز quoted-printable فيستخدم علامة المساواة كحرف هروب. ويستخدم كل من URL و URI ترميز النسبة المئوية لاقتباس الأحرف ذات المعنى الخاص، كما هو الحال مع الأحرف غير ASCII.

تسلسلات الهروب ANSI

استخدمت محطة VT52 أوامر ثنائية بسيطة مثل escape - A. بدون بادئة حرف الهروب، Aكان الحرف يعني ببساطة الحرف A، ولكن كجزء من تسلسل الهروب escape-A، كان له معنى مختلف. كما دعمت VT52 المعاملات. لم تكن لغة تحكم مباشرة مشفرة كاستبدال.

طبّقت محطة VT100 اللاحقة معيار تسلسل الهروب ANSI الأكثر تطورًا (الذي يُعرف الآن باسم ECMA-48) لوظائف مثل التحكم في حركة المؤشر، ومجموعة الأحرف، وتحسينات العرض. ولعلّ سلسلة HP 2640 امتلكت أكثر تسلسلات الهروب تعقيدًا لأوضاع الكتل والأحرف، وبرمجة المفاتيح وعلاماتها البرمجية، ومتجهات الرسومات، وحتى حفظ البيانات على أشرطة أو أقراص.

في نظامي التشغيل ويندوزMS-DOS )، يمكن استخدام أداة ANSI.SYS [ 11 ] لتفعيل دعم تسلسلات الهروب ANSI. في نظام DOS، يتم ذلك عبر أمر PROMPT ، وفي أنظمة ويندوز ذات 16 بت، يتم ذلك عبر نافذة الأوامر. أما في أنظمة يونكس والأنظمة الشبيهة بيونكس ، فتدعم الصدفة تسلسلات الهروب ANSI بشكل عام . وقد أدى انتشار تطبيقات واجهة المستخدم الرسومية إلى تقليل استخدام تسلسلات الهروب، إلا أن إمكانية توفير تطبيقات نصية بملء الشاشة لا تزال متاحة.$e

تسلسل المعالجة

سلسلة التحكم هي سلسلة من الأحرف تُغيّر حالة جهاز طرفي للحاسوب بدلاً من نقل المعلومات العادية التي تُمثلها هذه الأحرف. في سلسلة الهروب ANSI، يمكن أن يكون مُقدّم سلسلة التحكم، أو مُعرّف سلسلة التحكم ، إما ASCII ESC (العدد العشري 27) متبوعًا بـ [CSI (العدد العشري 155). من بين الأنظمة البارزة التي لم تستخدم حرف هروب لسلاسل التحكم:

  • تُعرّف مجموعة أوامر هايز تسلسل تحكم نمطي+++ ، يُبدّل من وضع الأوامر إلى وضع الاتصال المباشر. ولضمان تفسير التسلسل كتسلسل تحكم وليس كجزء من المحتوى، يُوقف المُرسِل الاتصال لمدة ثانية واحدة قبل وبعد إرسال الأمر +++. عندما يكتشف المودم حالة ، فإنه يُبدّل من الوضع العادي (إرسال الأحرف إلى الهاتف) إلى وضع الأوامر حيث تُفسّر البيانات كأمر. يُعيد إرسال الأمر O الوضع العادي. [ 12 ] [ 13 ] [ 14 ] [ 15 ]
  • تسلسلات التحكم الطرفية العامة للبيانات ، [ 16 ] [ 17 ] [ 18 ] ولكنها كانت تسمى في كثير من الأحيان تسلسلات الهروب، والاستخدام الشائع جدًا لـ "الهروب" من الأحرف الخاصة في لغات البرمجة ومعلمات سطر الأوامر اليوم غالبًا ما يستخدم حرف "الشرطة المائلة العكسية" لبدء التسلسل.

تُستخدم تسلسلات الهروب في الاتصالات بشكل شائع عندما يكون لدى الحاسوب وجهاز طرفي قناة واحدة فقط لتبادل المعلومات (لذا تُعد تسلسلات الهروب مثالًا على الإشارات داخل النطاق ). [ 19 ] [ 20 ] كانت هذه التسلسلات شائعة عندما كانت معظم المحطات الطرفية البسيطة تستخدم ترميز ASCII بسبعة بتات للبيانات للاتصال، وكانت تُستخدم أحيانًا للتبديل إلى مجموعة أحرف مختلفة للأحرف "الأجنبية" أو الرسومية التي كانت ستُقيّدها الرموز الـ 128 المتاحة في سبعة بتات للبيانات. حتى المحطات الطرفية "البسيطة" نسبيًا كانت تستجيب لبعض تسلسلات الهروب، بما في ذلك طابعات التليتايب الميكانيكية الأصلية (التي بُنيت عليها "التليتايب الزجاجية" أو شاشات العرض المرئي) التي كانت تستجيب للحرفين 27 و31 للتبديل بين وضعَي الأحرف والأرقام.

مفتاح الهروب (Esc)

تحتوي العديد من لوحات مفاتيح الحاسوب على مفتاح Esc ( اختصارًا لكلمة Escape ) ، على الرغم من أنه لا يُستخدم عادةً لإدخال تسلسل الهروب. يستخدم محرر النصوص vi هذا المفتاح للخروج من وضع الإدخال. [ 21 ] تستخدم بعض التطبيقات هذا المفتاح لإلغاء عملية أو الانتقال إلى مستوى أعلى في سياق متداخل. [ 22 ]

انظر أيضاً

مراجع

  1. "تسلسل الهروب (مفهوم عام)" .
  2. "الأحرف" . دروس جافا التعليمية .
  3. "ما هو ASCII؟ مجلة الإيكونوميست تشرح" . مجلة الإيكونوميست . 9 يونيو 2013.
  4. "شفرة بودو وCCITT" . شفرة بودو، التي اخترعها ج. بودو عام 1870 وحصل على براءة اختراعها عام 1874، هي […]
  5. "دليل استخدام مجموعات الأحرف في أوروبا" . العنصران C0 وC1 من أحرف التحكم [...] رمز مكون من 5 بتات حصل على براءة اختراع من جان موريس إميل بودو (1845-1903) في عام 1874
  6. 1 2 "واجهة أوامر ويندوز إن تي" . 20 فبراير 2014.
  7. 1 2 "تحرير الفاصلة العليا ('aaa') (مرجع لغة FORTRAN 77)" . ضمن الحقل، فاصلتان عليا متتاليتان [...]
  8. "تسلسلات الهروب" . 3 أغسطس 2021. تُسمى مجموعات الأحرف التي تتكون من شرطة مائلة عكسية متبوعة بحرف أو بمجموعة من الأرقام بتسلسلات الهروب .\
  9. "تسلسلات الهروب" . آي بي إم .
  10. "ISO/IEC 9899:201x مسودة اللجنة N1570" (ملف PDF) . 5.1.1.2 مراحل الترجمة، 2: يتم حذف كل ظهور لعلامة الشرطة المائلة العكسية (\ ) متبوعة مباشرةً بعلامة سطر جديد، مما يؤدي إلى دمج أسطر المصدر الفعلية لتكوين أسطر مصدر منطقية. [...]\
  11. "17. فهم ANSI.SYS - إصدار خاص باستخدام MS-DOS® 6.22، الطبعة الثالثة [ كتاب ] " . www.oreilly.com .
  12. "مجموعة أوامر Hayes AT الأساسية" . 2011-02-05. +++ - "تسلسل الهروب" - يبدأ هذا الأمر تسلسل هروب لإعادة المودم إلى وضع الأوامر المتصل بالإنترنت
  13. "أساسيات برمجة المودم" . عندما يكون المودم في وضع الأوامر، يمكنه استقبال الأوامر منك.
  14. "الفصل 5 - أوامر AT" (ملف PDF) .
  15. "مجموعة أوامر AT وملخص السجل لوحدات المودم التناظرية" . سيسكو .
  16. "محطات البيانات العامة: مناقشة" . خادم FTP ( FTP ).(للاطلاع على المستندات، انظر صفحة المساعدة: FTP )
  17. "ما هو الطرفية؟" . www.kermitproject.org .
  18. "برنامج محاكاة طرفية Data General DG210 DG211" .
  19. "تسلسل الهروب" .
  20. "مسرد مصطلحات دليل المحطات الطرفية والطابعات" . vt100.net .
  21. "اثنا عشر أمرًا مفيدًا في محرر النصوص vi" . أوامر vi [...] الضغط على مفتاح Esc (الهروب) هو كيفية [...]
  22. "خمسة استخدامات غير متوقعة لمفتاح Esc" . PCworld . 29-10-2009.