حول هذه الأداة
ترميز URL (المعروف أيضًا بترميز النسبة المئوية) يستبدل الأحرف ذات المعنى الخاص أو غير المسموح بها في عنوان URL بعلامة نسبة مئوية متبوعة بقيمة البايت السداسية العشرية الخاصة بها — فتصبح المسافة %20، وتصبح علامة العطف %26، وهكذا. وتوفّر JavaScript نوعين: يهرّب encodeURIComponent كل شيء تقريبًا بما في ذلك الفواصل المحجوزة مثل & و= و? و/، ما يجعله مناسبًا لقيمة مفردة مثل مُعامِل في سلسلة استعلام، بينما يترك encodeURI الأحرف البنيوية لعنوان URL كامل سليمةً ليبقى العنوان قابلاً للاستخدام.
استخدمه لإدراج قيمة بأمان في سلسلة استعلام، أو لتصحيح رابط شُوِّهت فيه الأحرف الخاصة أو Unicode، أو لقراءة ما يحتويه فعلاً عنوان إعادة توجيه أو تتبّع مُرمَّز. بدّل إلى Decode لتحويل %20 وأمثاله إلى نص مقروء، واختر نطاق Component أو Full URL ليطابق طريقة إنتاج السلسلة، وفعِّل خيار "+ as space" عند فك ترميز سلاسل استعلام بنمط النماذج حيث أُرسلت المسافات كعلامات زائد.
يهرّب encodeURIComponent الفواصل المحجوزة & و= و? و/ بينما يتركها encodeURI سليمةً — استخدم Component لقيمة مفردة، وFull URL فقط لعنوان كامل.
الأسئلة الشائعة
ما الفرق بين encodeURIComponent وencodeURI؟
يهرّب encodeURIComponent أحرف URL المحجوزة مثل & و= و? و/، لذا فهو مخصّص لقيمة مفردة مثل مُعامِل واحد في سلسلة استعلام. أما encodeURI فيحافظ على تلك الأحرف البنيوية، لذا فهو مخصّص لترميز عنوان URL كامل دون كسره.
لماذا يعني + أحيانًا مسافةً في عنوان URL؟
في سلاسل الاستعلام من نوع application/x-www-form-urlencoded (الطريقة التي تُرسل بها نماذج HTML البيانات)، تُرمَّز المسافات كـ + بدلاً من %20. ولا تحوّل أدوات فك ترميز URL القياسية علامة + إلى مسافة، لذا فعِّل خيار "+ as space" عند فك ترميز سلاسل استعلام بنمط النماذج.
ماذا يعني "Malformed percent-encoding" عند فك الترميز؟
يعني أن المُدخَل يحتوي على % لا يتبعها رقمان سداسيان عشريان صالحان، أو تسلسل متعدد البايتات غير مكتمل مثل %E0%A4%A. ولا يستطيع المُفكِّك تفسير تلك البايتات، فيُبلّغ عن خطأ بدلاً من إرجاع نص جزئي تالف.