ترميز الروابط وفكها

رمّز الروابط (URL) أو فك ترميزها.

واجهة الأداة نفسها باللغة الإنجليزية حاليًا، وتعمل بالكامل داخل متصفحك.

جارٍ تحميل الأداة…

ما هو ترميز النسبة المئوية؟

الروابط لا يجوز أن تحتوي إلا على مجموعة محدودة من الأحرف. وأي شيء خارجها، كالمسافات وعلامات الاقتباس و& والشرطات المائلة داخل قيمة والنصوص العربية أو الصينية والرموز التعبيرية، يجب ترميزه بالنسبة المئوية: يُكتب كل بايت كعلامة نسبة مئوية يليها رقمان ست عشريان. فالمسافة تصبح %20، و& تصبح %26، والحرف غير اللاتيني يصبح عدة رموز لأنه عدة بايتات في UTF-8. فكلمة «مرحبا» مثلًا تتحول إلى سلسلة طويلة تبدأ بـ %D9%85.

وترميز الأحرف الخاطئة يُفسد الأمور بقدر عدم ترميز أي شيء. فالشرطة المائلة التي تفصل أجزاء المسار يجب أن تبقى كما هي، أما الشرطة المائلة داخل قيمة استعلام فيجب أن تصبح %2F. وعلامة & التي تفصل المعاملات يجب أن تبقى، أما & داخل قيمة فيجب ترميزها وإلا قسمت المعامل إلى اثنين. ولهذا تقدّم JavaScript دالتين: encodeURI لرابط كامل وencodeURIComponent لقيمة واحدة، واستخدام الخاطئة منهما خطأ برمجي شائع.

لماذا أنشأنا هذه الأداة

تلجأ إلى هذا أثناء بناء سلاسل الاستعلام، أو تتبع خطأ في إعادة توجيه OAuth لا ينجح، أو قراءة رابط استدعاء من سجل، أو معرفة ما يحتويه رابط تتبع طويل. وكذلك حين يصلك رابط عربي يظهر كسلسلة رموز غير مقروءة وتريد قراءته.

وتلك الروابط كثيرًا ما تحمل رموز جلسات ورموزًا لمرة واحدة وعناوين بريد في معاملاتها، وأحيانًا ما زالت صالحة. ولصقها في موقع يسلّم بيانات دخول حية لغريب. أداتنا ترمّز وتفك داخل متصفحك باستخدام دوال الروابط المدمجة، دون أي طلب شبكة، ودون تسجيل، ودون حد للطول.

نصائح وأخطاء شائعة

  • رمّز الرابط الكامل والقيمة الواحدة بطريقتين مختلفتين؛ فالقواعد ليست واحدة.
  • المسافة تصبح %20 في المسار وقد تصبح علامة + في سلسلة الاستعلام، بحسب العرف المتبع.
  • الترميز المزدوج خطأ شائع: وجود %2520 في رابط يعني أن شيئًا رُمّز مرتين.
  • كل حرف عربي يتحول إلى رمزين أو أكثر، وهذا صحيح.

بداية سريعة: استخدام ترميز الروابط وفكها

  1. الصق الرابط أو القيمة التي تحتاج إلى تحويلها.
  2. اختر الترميز أو فك الترميز.
  3. عند الترميز، حدد هل تتعامل مع رابط كامل أم قيمة معامل واحدة.
  4. تأكد أن الأحرف البنيوية كالشرطات المائلة و& بقيت كما قصدت.
  5. انسخ النتيجة إلى طلبك أو إعداداتك أو بلاغ الخطأ.

لتقسيم رابط إلى أجزائه بدلًا من ذلك، استخدم محلل الروابط.

لماذا تحتاج الروابط إلى ترميز

الروابط لا تحتوي بشكل موثوق إلا على مجموعة محدودة من الأحرف. فالمسافات، والرموز مثل ? و& و# و/ و=، لها معنى بنيوي في الرابط، إذ تفصل أجزاءه. لذا حين تحتاج تلك الأحرف إلى الظهور داخل قيمة لا كبنية، يجب ترميزها، وإلا كسرت الرابط أو أسيئت قراءتها. وترميز الروابط، ويسمى أيضًا ترميز النسبة المئوية، يستبدل كل حرف غير آمن بعلامة % يليها رمزه.

ما الذي تعنيه الرموز

كل رمز % هو قيمة بايت الحرف بالنظام الست عشري. وأشهرها:

  • %20: مسافة.
  • %3F: علامة استفهام.
  • %26: علامة &.
  • %23: علامة #.
  • %2F: شرطة مائلة.

فالبحث عن "cats & dogs" يصبح cats%20%26%20dogs في الرابط، فتُعامل & كنص حرفي لا كفاصل بين المعاملات.

متى تحتاج كل اتجاه

  • رمّز حين تبني رابطًا وتضع فيه مدخلات المستخدم أو أحرفًا خاصة: مصطلح بحث، أو قيمة فيها مسافات أو رموز أو نص عربي، أو هدف إعادة توجيه. وإغفال هذا مصدر كلاسيكي للروابط المكسورة.
  • فك الترميز حين تقرأ رابطًا وتريد النسخة المقروءة: فحص رابط، أو تتبع خطأ في معامل، أو استخراج قيمة أرسلها أحدهم.

التباس شائع

ترميز الروابط ليس Base64، وليس هو ترميز الرابط كله. فعادةً ترمّز القيم داخل سلسلة الاستعلام، لا الأحرف البنيوية التي تجعل الرابط يعمل؛ فترميز ? و& اللتين تفصلان المعاملات يكسره. رمّز ما يدخل في الخانات، لا الخانات نفسها.

استخدامات شائعة

  • بناء رابط فيه أحرف خاصة أو مسافات.
  • قراءة رابط مرمّز وصلك.
  • تتبع خطأ في معامل استعلام.
  • ترميز مصطلح بحث أو قيمة إعادة توجيه.

أدوات أخرى من أدوات النصوص

تصفح جميع أدوات النصوص ←