مرمّز URL

تعمل في المتصفح الترميز

رمّز وفق قواعد encodeURIComponent أو encodeURI أو application/x-www-form-urlencoded (المسافات كعلامة +). واطّلع بدقة على الأحرف التي جرى تهريبها (escape).

الخصوصية: تعمل هذه الأداة بالكامل في متصفحك. لا تغادر بياناتك جهازك أبداً.
جارٍ تحميل الأداة…

كيفية استخدام مرمّز URL

  1. الصق القيمة أو عنوان URL.
  2. اختر الوضع: component لقيم الاستعلام، وURI لعناوين URL الكاملة، وform لمحتوى نماذج HTML.
  3. راجع جدول الأحرف المُهرَّبة.
  4. انسخ الناتج المرمَّز.

مزايا مرمّز URL

  • أوضاع encodeURIComponent وencodeURI وform-urlencoded (علامة + للمسافات) وRFC 3986 الصارم وترميز كل الأحرف
  • جدول بكل حرف مُهرَّب مع نقطة الترميز الخاصة به وشكله المرمَّز
  • ترميز كل سطر على حدة لقوائم القيم
  • تلميحات عندما لا يناسب الوضع المختار المدخل (مثل عنوان URL كامل مع encodeURIComponent)
  • نتائج فورية مع إحصاءات الطول

مثال على مرمّز URL

ترميز قيمة استعلام تحتوي على Unicode

الإدخال:

q=café & thé

النتيجة:

q%3Dcaf%C3%A9%20%26%20th%C3%A9

الأسئلة الشائعة حول مرمّز URL

encodeURIComponent أم encodeURI — أيهما أحتاج؟

استخدم encodeURIComponent لقيمة واحدة تُدرج في سلسلة استعلام أو مقطع مسار: فهو يهرّب «&» و«=» و«/» و«?». واستخدم encodeURI لعنوان URL كامل حتى تبقى الأحرف المكوّنة لبنيته سليمة.

لماذا تظهر المسافات أحياناً كـ «+» وأحياناً كـ «%20»؟

«+» هي اصطلاح نماذج HTML (application/x-www-form-urlencoded) ولا تصلح إلا في سلاسل الاستعلام ومحتوى النماذج. أما «%20» فتعمل في كل مكان. اختر وضع «form» للحصول على «+».

ما هو وضع RFC 3986 الصارم؟

تترك دالة encodeURIComponent في JavaScript الأحرف ! * ' ( ) دون تهريب، لكن RFC 3986 يدرجها ضمن الأحرف المحجوزة. يرمّزها الوضع الصارم أيضاً، بما يطابق دالة rawurlencode في PHP وقواعد توقيع OAuth 1.0.

كيف تُرمَّز أحرف Unicode؟

تُحوَّل أولاً إلى بايتات UTF-8 ويصبح كل بايت %XX، فيتحوّل الحرف «é» إلى %C3%A9، ويصبح كل حرف عربي تسلسلين أو ثلاثة تسلسلات مُهرَّبة.

ملاحظات تقنية

يستبدل ترميز النسبة المئوية (RFC 3986) كل بايت من تمثيل UTF-8 بالصيغة %XX. لا تُرمَّز الأحرف غير المحجوزة (الحروف والأرقام و- . _ ~) أبداً؛ أما الأحرف المحجوزة التي تُترك كما هي فتعتمد على الوضع المختار. وتُستبدل البدائل المنفردة (lone surrogates)، التي كانت ستجعل encodeURIComponent يرمي استثناءً، بالحرف U+FFFD.