ما الذي تفعله هذه الأداة
ترمّز السلاسل وتفك ترميزها بالنسبة المئوية لتُستخدم في الروابط. تدعم وضع المكوّن (يُرمِّز كل رمز محجوز حتى تكون القيمة آمنة داخل معامل استعلام أو جزء مسار) ووضع الرابط الكامل (يحافظ على بنية https://host/path?query ويرمّز فقط ما يحتاج إلى ترميز).
متى تستخدمها
- بناء سلسلة استعلام يدوياً تحتاج فيها إلى إفلات المسافات وعلامات العطف وعلامة المساواة.
- فك ترميز رابط إعادة توجيه عاد ملفوفاً بـ
%2Fو%3D. - مقارنة الصيغة المرمَّزة لرابط بقائمة سماح.
- إنتاج رابط نظيف قابل للمشاركة من سلسلة تحوي أحرفاً غير ASCII.
كيف تعمل
يستخدم ترميز المكوّن encodeURIComponent، الذي يرمّز كل حرف ليس ضمن الأحرف غير المحجوزة (A-Z a-z 0-9 - _ . ! ~ * ' ( )). ويستخدم ترميز الرابط الكامل encodeURI، الذي يترك الأحرف البنيوية المحجوزة (: / ? # [ ] @) دون مساس. ويستخدم فك الترميز الدوال العكسية، مع الإشارة إلى التسلسلات المعطوبة كأخطاء بدلاً من إسقاطها بصمت.
ملاحظات
لماذا يفك + أحياناً إلى مسافة؟ هذا اصطلاح application/x-www-form-urlencoded الأقدم المستخدم في إرسال النماذج، لا ترميز URL القياسي. يترك RFC 3986 الـ + دون مساس. ومعظم مفكِّكات الترميز تعامل + كمسافة داخل سلسلة الاستعلام فقط، لا في المسار.
هل أستخدمها على الرابط كله أم على جزء منه؟ على الأجزاء. إن رمّزت رابطاً كاملاً بوضع المكوّن ستكسر :// وشَرطات المسار. ابنِ الرابط من قطع مرمَّزة مسبقاً، أو استخدم وضع الرابط الكامل.
هل تتعامل مع Unicode؟ نعم. UTF-8 أولاً، ثم ترميز مئوي على كل بايت. café تصبح caf%C3%A9.
أدوات ذات صلة
- Base64 — آلية إفلات مختلفة للثنائي داخل النص
- منسّق JSON — لحمولات الجسم بدلاً من سلاسل الاستعلام