خيارات متقدمة
تحويل + إلى مسافات
عند التفعيل، سيتم تحويل أحرف + إلى مسافات. هذا مفيد عند فك ترميز معلمات الاستعلام.
الوضع المباشر
عند التفعيل، سيتم فك ترميز النص تلقائيًا أثناء الكتابة.
تساعدك هذه الخيارات في التحكم في كيفية فك ترميز الأحرف المشفرة في عناوين URL الخاصة بك.
ما هو فك ترميز URL؟
فك ترميز URL يعكس ترميز النسبة المئوية: فهو يقرأ متتاليات الهروب %XX في عنوان URL مُرمَّز ويعيدها إلى الأحرف التي تمثّلها. هكذا تُستعاد سلسلة استعلام مقروءة، أو قيمة حقل نموذج، أو مقطع مسار من عنوان URL سلّمه إليك متصفح أو واجهة برمجية أو سطر سجل في صورة مُرمَّزة.
كيف يعمل فك ترميز URL؟
يتبع فك ترميز URL عملية محددة لتحويل التسلسلات المُرمَّزة بعلامة النسبة المئوية إلى أحرفها الأصلية:
- يتم فحص سلسلة الإدخال بحثاً عن تسلسلات الهروب المُرمَّزة بالنسبة المئوية (%XX)
- يتم تحويل كل %XX من رقميه السداسيين عشريين عودةً إلى قيمة البايت الأصلية
- يتم إعادة تجميع البايتات المُفكَّكة المتتالية في أحرف UTF-8 (يصبح التسلسل متعدد البايتات حرفاً واحداً)
- في سياق سلسلة الاستعلام، يتم فك ترميز + إلى مسافة (application/x-www-form-urlencoded)، بينما يبقى %2B علامة + حرفية
- تمر الأحرف غير المحجوزة والنص المُفكَّك مسبقاً دون تغيير
لماذا نستخدم أداة فك ترميز URL؟
- مخرجات مقروءة: حوِّل %20 و%40 و%3D مجدداً إلى مسافة و@ و= لتقرأ ما تقوله URL فعلاً
- النص الدولي: أعِد بناء الأحرف المنقوطة وغير ASCII من متتاليات بايتات UTF-8 الخاصة بها، لتُقرأ %C3%A9 مجدداً على شكل é
- التنقيح: افحص القيم الحقيقية داخل سلسلة استعلام أو إعادة توجيه OAuth أو حمولة webhook قبل التصرف بناءً عليها
- توافق مع المعايير: فك الترميز وفق RFC 3986 — القواعد ذاتها التي تستخدمها المتصفحات والخوادم — لترى بالضبط ما يرونه
ما هي التطبيقات الشائعة لفك ترميز URL؟
فك ترميز URL ضروري في العديد من سيناريوهات تطوير الويب:
- إرسال النماذج: قراءة قيم الحقول الأصلية من بيانات GET وPOST بصيغة application/x-www-form-urlencoded
- تطوير API: فك تغليف معاملات المسار والاستعلام المُرمَّزة بنسبة مئوية التي تصل إلى نقطة نهاية API
- أنظمة الملفات: استعادة مسارات الملفات وأسمائها التي رُمِّزت بالنسبة المئوية لتنتقل داخل عنوان URL
- تنقيح الروابط: فك ترميز عناوين URL المشتركة أو المسجَّلة في السجلات لرؤية الأحرف الخاصة والنصوص الدولية التي تحملها
كيف يبدو مثال على فك ترميز URL؟
إليك بعض الأمثلة الشائعة لفك ترميز URL: %20 (أو +) تصبح مسافة، و%40 تصبح @، و%23 تصبح #، و%26 تصبح &، و%3D تصبح =. ومتتالية UTF-8 مثل %C3%A9 تصبح الحرف الدولي é.
ما هو الترميز بالنسبة المئوية؟
الترميز بالنسبة المئوية هو الآلية المعرّفة في RFC 3986 §2.1 لتمثيل الأحرف غير الآمنة أو المحجوزة داخل عنوان URI. القاعدة آلية: تُكتب كل بايت لا يمكن أن يظهر حرفياً على شكل علامة نسبة مئوية متبوعة برقمين ست عشريين — صيغة %XX —، حيث XX هو قيمة البايت. تُرمّز الأحرف غير ASCII مثل é أولاً بصيغة تسلسل بايتاتها بترميز UTF-8، ثم تُرمّز كل بايت بالنسبة المئوية على حدة. يصادف المطورون هذا الأمر تقريباً يومياً: في سلاسل الاستعلام، وإرسال النماذج، وعناوين OAuth المرتدة، ومعاملات مسار REST API، وأينما كان لا بد لعنوان URL من حمل علامات ترقيم أو مسافات أو أحرف خارج المجموعة غير المحجوزة A–Z a–z 0–9 - _ . ~.
كيف يعمل فك ترميز %C3%A9 إلى é فعلياً؟
خذ سلسلة الاستعلام المرمّزة ?q=caf%C3%A9&lang=fr. ينتج عن فك الترميز ?q=café&lang=fr. وفيما يلي الشرح بايتاً بايتاً:
- الإدخال:
?q=caf%C3%A9&lang=fr - الإخراج:
?q=café&lang=fr
%C3→ بايت0xC3(ثنائي11000011) — البايت القائد لتسلسل UTF-8 من بايتين.%A9→ بايت0xA9(ثنائي10101001) — بايت الاستمرار. معاً،C3 A9هو ترميز UTF-8 للنقطة U+00E9، أيé.- تُترك الأحرف
?و=و&دون مساس لأنها هيكلية — فهي تفصل الاستعلام وأزواج المفتاح/القيمة. كما يُمرَّرcafالحرفي دون تغيير، لأن أحرف ASCII الصغيرة تنتمي إلى المجموعة غير المحجوزة.
ما الفرق بين decodeURIComponent و decodeURI؟
تُتيح JavaScript مفككي ترميز مدمجَيْن، والخلط بينهما من أكثر الأخطاء شيوعاً في التعامل مع عناوين URL:
- تُفكِّك
decodeURIComponent(str)كل تسلسل مُرمَّز بالنسبة المئوية، بما في ذلك الأحرف المحجوزة مثل&و=و?و/و#. استخدمها على قيم سلسلة استعلام مفردة أو مقاطع مسار — لا تستخدمها أبداً على URL كامل. decodeURI(str)محافظة عمداً: تتجاهل الأحرف المحجوزة. تمرير%26إليها يُعيد السلسلة الحرفية%26، وليس&. وهي مصمَّمة لعناوين URI كاملة حيث ترغب في أن تنجو البنية من رحلة ذهاب وإياب.
القاعدة العملية: إذا كانت السلسلة قطعة من عنوان URL (معامل واحد، أو جزء، أو اسم ملف مُرمَّز)، فاستخدم decodeURIComponent. تتصرف هذه الأداة كـdecodeURIComponent — تُفكَّك كل تسلسلات %XX في إدخالك، بما في ذلك الأحرف المحجوزة.
فك ترميز URL هو الطريقة التي تقرأ بها ما تحتويه فعلاً. الصق سلسلة مُرمَّزة أعلاه وستتحوّل كل متتالية %XX فوراً إلى حرفها مباشرةً في متصفحك، لتنقّح معامل استعلام أو تتحقق من إعادة توجيه OAuth أو تسترجع اسم ملف يحوي أحرفاً خاصة دون إرسال أي شيء إلى خادم.