ترميز / فك ترميز كيانات HTML
الترميزيرمّز ويفك ترميز كيانات HTML — المسماة والعشرية والسداسية عشر.
في هذه الصفحة
ما هو ترميز كيانات HTML؟#
يمنح HTML معنى خاصًا لقليل من المحارف: < و> تحدّان الوسوم، و& يبدأ كيانًا أو مرجع محرف، و" و' تضعان قيم السمات بين علامتي اقتباس. حينما أردت لأحد تلك المحارف أن يظهر كـ نص حرفي على صفحة — عرض مصدر مقطع كود للمستخدمين، أو صدى إدخال بحث حقله، أو عرض السلسلة Tom & Jerry — عليك استبداله ببديل يُسمى كيان. ذلك الاستبدال هو ترميز كيانات HTML.
هناك ثلاث طرق لكتابة نفس التهريب، وتقدّم هذه الأداة كلتها عبر مُحدِّد الخيارات:
- مسماة — يصير
&هو&، و<هو<، وهكذا. مقروء بشريًّا، والصيغة الوحيدة التي يكتبها الناس يدويًّا عادةً. في هذا الوضع only المهربة المحارف الخمسة الخطيرة بنيويًّا؛ وكل ما عداها يمر دون لمس. - عشرية — كل محرف غير ASCII أو تحكم يصير
&#N;، حيثNنقطة رمزه Unicode بالعشري (مثلًا يصير©هو©). مفيد حين تريد كل بايت غير قياسي ظاهرًا وآمنًا ASCII. - سداسية — الفكرة نفسها بنقاط رموز سداسية عشر: يصير
©هو©. مُختصر ويتماشى طبيعيًّا مع تدوين نقطة الرمز الذي تراه في جداول Unicode.
يتعرّف فك الترميز على الكيانات المسماة في مجموعة فرعية منسَّقة من HTML5، بالإضافة إلى &#NN; (عشري) و&#xHH; (سداسي). الكيان المسمى غير المعروف يُترك كما هو تمامًا بدلًا من تخمينه — أكثر أمانًا من إصدار المحرف الخطأ بصمت.
كيفية الاستخدام#
- اختر ترميز أو فك الترميز من المفتاح أعلى اليسار.
- تحت الخيارات، اختر مسماة، أو عشرية، أو سداسية عشر.
- الصق في لوحة الإدخال على اليسار.
- اقرأ النتيجة المُهرَّبة (أو غير المُهرَّبة) من لوحة الإخراج على اليمين وانقر نسخ.
- يحمِّل مثال سلسلة تجريبية؛ ويعيد مسح ضبط اللوحتين.
الميزات الرئيسية#
- ثلاث صيغ تهريب من مُحدِّد واحد. بدِّل بين المسماة والعشرية والسداسية دون إعادة لصق، مما يجعل مقارنة المخرجات تافهة.
- صحيح للمحارف النجمية. التكرار يتم بنقطة رمز Unicode، لا وحدة رمز UTF-16، فيُعامَل إيموجي مثل
🌍كمحرف واحد (🌍)، لا كزوج بديل مكسور. - فاكّ منسَّق وآمن. تغطي خريطة الكيانات المسماة مراجع HTML5 الشائعة (حقوق النشر، العلامات التجارية، الحروف المُشكَّلة، الرموز الرياضية، علامات الاقتباس والشرطات). تمر الأسماء غير المعروفة دون لمس بدلًا من تشويهها.
- بلا DOM. الترميز وفك الترميز عمليات سلاسل نصية بحتة — لا حقن
<div>خفي — فالمنطق قابل للاختبار بالكامل ولا خطر من أن تُفسِّر الأداة نفسها إدخالك كترميز.
مثال عملي#
خذ جزءًا يخلط ترميزًا برمز حرفي:
<a href="x">Tom & Jerry</a> © 2026
في وضع مسماة، only المهربة المحارف الخمسة الخطيرة ويُترك © على حاله (ليس خطير بنيويًّا):
<a href="x">Tom & Jerry</a> © 2026
بدِّل إلى عشرية فيصير © نقطة رمزه أيضًا، بينما تتحول المحارف الأساسية إلى صيغة عددية:
<a href="x">Tom & Jerry</a> © 2026
في وضع سداسية تظهر المحارف نفسها كنقاط رموز سداسية:
<a href="x">Tom & Jerry</a> © 2026
يفك الترميز عكس كل ذلك: الصق أيًّا من المخرجات الثلاثة عودةً مع اختيار فك الترميز فتحصل على الجزء الأصلي، بما فيه ©.
الأسئلة الشائعة#
أي وضع أستخدم لجعل سلسلة آمنة للوضع داخل HTML؟#
مسماة هو افتراضي الصحيح دائمًا تقريبًا للمحارف الخمسة الخطيرة — مقروء، مفهوم لدى كل متصفح، ويُبقي المخرجات صديقة للـ diff. الجأ إلى عشرية أو سداسية حين تحتاج تحديدًا كل محرف غير ASCII جعله آمنًا ASCII (مثلًا إعداد محتوى لنقل يرفض البايتات العالية)، لا للتهريب العادي.
فككت © لكن اسمًا غريبًا مثل &mytag; خرج دون تغيير. لماذا؟#
يفك الفاكّ الكيانات التي يعرفها فعلًا فقط — مجموعة فرعية HTML5 منسَّقة من الأسماء الشائعة. &mytag; ليس كيان HTML حقيقيًّا، فتتركه الأداة دون لمس بدلًا من تخمينه أو إسقاطه. إن احتجت فعلًا كل كيان مُعرَّف في DTD، فأنت خارج نطاق مُحوِّل سلاسل وداخل HTML parsing حقيقي.
هل يكفي HTML-escaping لجعل إدخال المستخدم آمنًا في سلسلة JavaScript أو رابط؟#
لا. لكل سياق قواعده. يحمي تهريب HTML من حقن الترميز، لكن سلسلة مثل '); alert(1); // غير ضارة في HTML وخطيرة داخل <script>. والإدخال نفسه يحتاج أيضًا URL-encoding قبل الذهاب إلى رابط. هرِّب للسياق الوجهة، لا مرة واحدة فقط.
لماذا تستخدم المخرجات السداسية حروفًا صغيرة (© لا ©)؟#
السداسي الصغير هو الصيغة المُتفق عليها والأمرّ وتُحلَّل بشكل مماثل لدى كل متصفح. إن احتجت حروفًا كبيرة لدليل أسلوب، فالوضع العشري (©) يتجاوز السؤال تمامًا، أو مرِّر المخرجات عبر تحويل حالة خاص بك.