ترميز / فك ترميز كيانات HTML
اهرب الأحرف الخاصة إلى كيانات HTML، أو فُكّ ترميز الكيانات إلى نص عادي، مباشرة أثناء الكتابة.
لماذا توجد كيانات HTML
بعض الأحرف محجوزة من قِبل HTML نفسه.
أحرف مثل < و> و& لها معنى خاص في ترميز HTML، كتابتها حرفيًا داخل محتوى الصفحة يمكن أن يكسر الصفحة، أو الأسوأ، يسمح بتفسير إدخال المستخدم كترميز قابل للتنفيذ. ترميزها ككيانات مثل < يعرض الحرف بأمان كنص عادي.
الكيانات المسمّاة مقابل الرقمية
كل من & و& يُفكّان إلى نفس علامة العطف؛ الكيانات المسمّاة موجودة للأحرف الشائعة، والكيانات الرقمية (عشرية أو سداسية عشرية) يمكن أن تمثّل أي حرف يونيكود على الإطلاق. تفكّ هذه الأداة كلا الشكلين.
كيف يعمل
الترميز هو استبدال مباشر: تستبدل عبارة نمطية الأحرف الخمسة المحجوزة في HTML (& و< و> و" و') بكياناتها. يذهب خيار «ترميز جميع الأحرف غير ASCII» إلى أبعد من ذلك ويحوّل كل حرف فوق نطاق ASCII إلى مرجع رقمي باستخدام codePointAt، وهو مفيد عندما يجب أن ينجو الإخراج عبر مسار يتعامل فقط مع ASCII، مثل نظام قوالب بريد إلكتروني قديم أو ملف إعدادات يُفسد UTF-8.
يستخدم فك الترميز حيلة تستحق المعرفة: تُسنَد السلسلة إلى innerHTML الخاص بعنصر <textarea> منفصل، ثم تُقرأ مجددًا من .value الخاص به. هذا يسلّم المهمة لمحلل HTML الخاص بالمتصفح نفسه، الذي يعرف بالفعل أكثر من 2000 كيان مسمّى بالإضافة إلى كل شكل رقمي عشري وسداسي عشري، لذا لا تحتاج الأداة لشحن جدول بحث قد يصبح قديمًا. وهذا أيضًا سبب أمان فك ترميز إدخال غير موثوق هنا: محتويات عنصر textarea تُعامَل دائمًا كنص عادي، لذا يتحول <script> بعد فك الترميز إلى نص وسم script، ولا يُنفَّذ أي شيء أبدًا.
يعمل كلا الاتجاهين مع كل ضغطة مفتاح داخل جافاسكريبت هذه الصفحة. افتح لسان Network في أدوات المطوّر أثناء الكتابة: لا توجد طلبات، وترميزك لا يغادر المتصفح أبدًا.