ما الذي تفعله الأداة
ترميز URL، ويُسمّى أيضًا ترميز النسبة المئوية (percent-encoding)، يستبدل الأحرف غير المسموح بها في عنوان URL أو ذات المعنى الخاص فيه بعلامة % يتبعها رقمان سداسيان عشريان. تصبح المسافة %20، وتصبح علامة & %26، أما النص غير ASCII مثل 中文 فيُحوَّل أولًا إلى بايتات UTF-8 ثم يُكتب كل بايت بصيغة %XX.
ترمّز هذه الأداة النص كي تضعه بأمان في سلسلة استعلام أو جزء من المسار أو طلب API، وتفك ترميز النصوص المرمّزة بالنسبة المئوية التي نسختها من السجلات أو شريط عنوان المتصفح أو تتبّعات HTTP إلى نص مقروء.
طريقة الاستخدام
- الصق نصًا أو عنوان URL في مربع الإدخال، أو انقر مثال.
- اختر ترميز أو فك الترميز.
- عند الترميز، اختر مكوّن لترميز قيمة واحدة (مثل عبارة بحث)، أو عنوان URL كامل لإبقاء
:و/و?و&و=كما هي. - فعّل المسافة كـ + لبيانات نماذج HTML، وكل سطر على حدة لمعالجة قائمة قيم دفعةً واحدة.
- انسخ النتيجة أو نزّلها. إذا فشل فك الترميز، يخبرك الخطأ بموضع تسلسل الهروب المعطوب.
مثال
ترميز عبارة البحث hello world & more كمكوّن يعطي:
hello%20world%20%26%20more
وفك ترميز q=%E4%BD%A0%E5%A5%BD يعطي q=你好.
متى تستخدم كل خيار
- عند بناء سلسلة استعلام يدويًا: رمّز كل قيمة كمكوّن، ثم اربطها بـ
&و=. - عند تنظيف رابط كامل يحتوي على مسافات أو أحرف صينية: استخدم عنوان URL كامل كي تُحفظ بنية الرابط.
- عند قراءة سجلات الخادم: فك الترميز مع تفعيل المسافة كـ +، لأن كثيرًا من الخوادم تسجّل بيانات النماذج بهذه الصيغة.
الأسئلة الشائعة
› ما الفرق بين «مكوّن» و«عنوان URL كامل»؟
يرمّز «مكوّن» كل الأحرف المحجوزة، بما فيها / ? & = و#، لذا تكون النتيجة آمنة داخل معامل استعلام واحد أو جزء واحد من المسار. وهو يطابق encodeURIComponent في JavaScript. أما «عنوان URL كامل» فيُبقي هذه الأحرف كي يظل العنوان يعمل كرابط، مطابقًا لـ encodeURI.
› هل يجب أن تصبح المسافات %20 أم +؟
استخدم %20 للمسارات ومعظم واجهات API. ولا تستخدم + إلا لبيانات نماذج HTML (application/x-www-form-urlencoded)، وهي ما ترسله المتصفحات عند إرسال نموذج. فعّل «المسافة كـ +» في هذه الحالة.
› لماذا تظهر لي رسالة "not valid UTF-8" عند فك الترميز؟
لا تشكّل بايتات %XX حرف UTF-8 كاملًا، وعادةً يكون السبب أن النص قُطع في منتصف حرف متعدد البايتات أو رُمّز بمجموعة أحرف قديمة مثل GBK أو Latin-1.
› هل تُرسل بياناتي إلى خادم؟
لا. يجري الترميز وفك الترميز بالكامل في متصفحك.