كل الأدوات تعمل داخل متصفحك — ملفاتك لا تغادر جهازك أبدًا.
All tools154

المطورون

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

ترميز الروابط ومعاملات الاستعلام بنسبة مئوية وفكّها.

ما الذي تفعله. ترميز الروابط يستبدل المحارف غير المسموح بها في العنوان بعلامة نسبة مئوية وقيمتها الست عشرية. فالمسافة تصبح %20، والحرف «ع» يصبح %D8%B9. وهذه الأداة ترمّز وتفكّ في الاتجاهين، وتتعامل مع النطاقات العربية بترميز Punycode المختلف عن ترميز المسار.
يعمل في متصفحكلا يتم رفع أي شيءبدون تسجيليعمل دون اتصال

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

  1. الصق رابطًا أو قيمة للترميز، أو سلسلة مرمّزة لفكّها.
  2. اختر ترميز المكوّن لقيمة معامل واحدة، أو ترميز العنوان الكامل لرابط كامل.
  3. استخدم محلّل المعاملات لتفكيك الرابط وتعديل قيمه وإعادة بنائه.

العربية في المسار

العناوين لا تقبل إلا محارف ASCII، فيجب ترميز الحروف العربية — كوحدات UTF-8 بصيغة النسبة المئوية.

والحرف العربي الواحد يشغل بايتين في UTF-8، فيصبح ست محارف في العنوان المرمّز. أي أن كلمة «أدوات» تتحوّل إلى ثلاثين محرفًا تقريبًا.

وهذا يعمل في كل متصفح حديث: العنوان /أدوات/ يظهر مقروءًا في شريط العنوان ويُرسل مرمّزًا. لكنه نادرًا ما يكون خيارًا جيدًا للروابط الدائمة، لأن الصيغة المرمّزة هي ما يظهر في سجلات الخادم وأدوات التحليل وعند نسخ الرابط في رسالة — وهناك يصبح سطرًا طويلًا غير مقروء.

والأفضل للروابط الدائمة هو النقحرة اللاتينية: /adawat/ بدل /أدوات/. أما في قيم البحث والمعاملات فالعربية طبيعية ولا مشكلة فيها إذا رُمّزت صحيحًا.

النطاقات العربية وPunycode

اسم النطاق نفسه يخضع لقواعد أخرى: الترميز بالنسبة المئوية غير مسموح فيه، ويُستخدم بدلًا منه ترميز Punycode.

يحوّل Punycode النطاقات غير اللاتينية إلى ASCII، ويُعرف ببادئة xn--. فالنطاق «موقع.شبكة» يصبح داخليًا سلسلة تبدأ بـ xn--، والصيغتان تؤديان إلى الوجهة نفسها.

وهذا ليس أمرًا نظريًا في المنطقة: نطاقات المستوى الأعلى بالعربية موجودة ومستخدمة — منها ".عرب" و".امارات" و".السعودية" و".مصر" — وقد اعتمدت منذ سنوات.

والمسألة العملية أن أنظمة قديمة كثيرة لا تتعامل معها: بعض أدوات التحقق من البريد الإلكتروني، وبعض أنظمة إدارة المحتوى، وأدوات فحص الشهادات. وهذه تحتاج صيغة Punycode لا الصيغة العربية.

وهناك جانب أمني كذلك: محارف من كتابات مختلفة قد تتشابه بصريًا. ولذلك تعرض المتصفحات صيغة Punycode عند خلط الكتابات في نطاق واحد، لكشف محاولات الانتحال.

متى أرمّز وماذا؟

أكثر خطأ شيوعًا هو الخلط بين ترميز العنوان الكامل وترميز المكوّن.

ترميز العنوان الكامل مخصّص لرابط كامل، ويترك المحارف ذات المعنى البنيوي — النقطتين والشرطة المائلة وعلامة الاستفهام والعلامة & — دون مساس. أما ترميز المكوّن فمخصّص لقيمة واحدة ويرمّز هذه المحارف أيضًا.

والخطأ الكلاسيكي: تمرير رابط كامل كقيمة معامل دون ترميزه كمكوّن. فأول شرطة مائلة تُنهي القيمة ظاهريًا ويُقرأ الباقي كمعامل مستقل — وهذا عطل شائع في إعادة التوجيه بعد تسجيل الدخول.

وعلامة الجمع: تعني في معاملات الاستعلام مسافة تاريخيًا. فالجمع الحقيقي — في رقم هاتف مثل ‎+971 — يجب أن يُكتب %2B، وإلا تحوّل إلى مسافة عند القراءة. وهذا يهمّ في المنطقة أكثر من غيرها، لأن أرقام الهواتف تُكتب بصيغة دولية دائمًا.

الأسئلة الشائعة

كيف أكتب حروفًا عربية في الرابط؟

تُرمّز بصيغة النسبة المئوية لوحدات UTF-8. أما في اسم النطاق فتُستخدم صيغة Punycode ببادئة xn--.

ما Punycode؟

تحويل النطاقات غير اللاتينية إلى ASCII. نطاقات مثل ".عرب" و".امارات" تُخزَّن داخليًا بهذه الصيغة.

هل أستخدم عربية في الروابط الدائمة؟

الأفضل لا. تعمل تقنيًا لكن الصيغة المرمّزة تظهر في السجلات والرسائل غير مقروءة. استخدم النقحرة اللاتينية.

لماذا تحوّلت علامة الجمع إلى مسافة؟

لأن + تعني مسافة في معاملات الاستعلام. الجمع الحقيقي يُكتب %2B — وهذا مهم في أرقام الهواتف الدولية.

ما الترميز المزدوج؟

ترميز مرتين، فيصبح %20 هو %2520. وعند الفك يبقى %20 نصًا ظاهرًا.

هل تُرسل بياناتي؟

لا. كل شيء يجري داخل هذه الصفحة.

أدلة حول ترميز الروابط وفكّه