ترميز الروابط وفك ترميزها
أداة مجانية عبر الإنترنت لترميز الروابط وفك ترميزها. رمِّز نصًا أو عنوانًا كاملًا، وأعِد تسلسلات %XX إلى نص مقروء، واعرف المُعاملات التي يحملها الرابط فعلًا. يتم كل التحويل داخل متصفحك، ولا يُرفع أي شيء.
ترميز أو فك ترميز
الصق نصًا أو رابطًا أو سلسلة مُرمَّزة. يتم التحويل أثناء الكتابة، ولا يُرفع أو يُحفظ أي شيء.
الصق شيئًا في الأعلى لتحويله.
لم يُحوَّل شيء بعد.
يُحوَّل نصك محليًا باستخدام JavaScript. لا يُرسَل إلى أي خادم، ولا يُسجَّل، ولا يُحفَظ.
لا يقبل الرابط إلا مجموعة صغيرة من الأحرف. أما الباقي — المسافات والحروف العربية والرموز التعبيرية، أو الأحرف التي تحدد بنية الرابط مثل & و? — فيجب كتابته على شكل % يليها الرقمان الست عشريان لكل بايت UTF-8. تحوِّل هذه الأداة في الاتجاهين وتعرض لك الرابط الناتج جزءًا جزءًا.
أهم الفوائد
حالات استخدام شائعة
طريقة الاستخدام
- 1.اختر الاتجاه. اختر نص ← مُرمَّز للترميز أو مُرمَّز ← نص لفك الترميز.
- 2.حدِّد ما ترمِّزه. اترك ترميز رابط كامل معطّلًا لقيمة واحدة مثل مُعامل؛ وفعِّله لعنوان كامل يجب أن يبقى صالحًا.
- 3.الصق المدخل. يتم التحويل أثناء الكتابة. إذا كان المدخل عنوان ويب، يعرض تفصيل الرابط المضيف والمسار وكل مُعامل بعد فك ترميزه.
- 4.انسخ أو تحقّق. انسخ النتيجة، أو اضغط تبديل لتحويلها في الاتجاه المعاكس والتأكد من استعادة الأصل.
شرح الترميز المئوي
تأتي القواعد من RFC 3986 ومن مواصفة نماذج HTML. ومعظم الأخطاء سببها تطبيق القاعدة في المكان الخطأ.
%20 مسافة، و%2F شرطة مائلة، و%D9%85 هما بايتا UTF-8 للحرف «م».- . _ ~ لا تحتاج إلى ترميز أبدًا. ترميزها مسموح لكنه بلا فائدة.: / ? # [ ] @ ! $ & ' ( ) * + , ; = تحدد بنية الرابط. داخل القيمة يجب ترميزها، وإلا تغيّر معنى الرابط.encodeURIComponent يرمِّز كل الأحرف المحجوزة ويناسب القيمة الواحدة. أما encodeURI فيُبقيها ويناسب العنوان الكامل.%20 إلى %2520. إذا رأيت %25 يليها رقمان ست عشريان، فقد رُمِّزت قيمة مُرمَّزة أصلًا.أهم الميزات
- ترميز وفك ترميز، مع زر تبديل للتحقق
- وضعان: قيمة واحدة (encodeURIComponent) أو رابط كامل (encodeURI)
- خيار + للمسافات كما في نماذج HTML
- تقسيم الرابط إلى المخطط والمضيف والمسار والمقطع والمُعاملات مفكوكة الترميز
- تحديد موضع تسلسل % المشوّه بدل الفشل بصمت
- تنبيه عندما يبدو المدخل مُرمَّزًا مرتين
- تعمل دون اتصال بعد تحميل الصفحة؛ بلا حساب ولا رفع
الترميز ليس تهريبًا لـ HTML أو SQL
يجعل الترميز المئوي القيمة آمنة داخل الرابط فقط. ولا يجعلها آمنة داخل HTML أو JavaScript أو استعلام قاعدة بيانات، فلكلٍّ منها قواعده الخاصة. والقيمة المرمّزة بشكل صحيح قد تحمل هجوم حقن بعد أن يفك الخادم ترميزها.
لذلك رمِّز حسب الوجهة: الترميز المئوي للروابط، وتهريب HTML للصفحات، والاستعلامات ذات المُعاملات لـ SQL. وإذا انتقلت بياناتك بصيغة Base64 داخل رابط، فاستخدم الأبجدية الآمنة للروابط؛ وأداتنا لترميز Base64 وفك ترميزه تقوم بالأمرين.
أسئلة شائعة
ما ترميز الروابط؟⌄
ترميز الروابط، ويُسمّى أيضًا الترميز المئوي، يكتب الأحرف غير المسموح بها في الرابط على شكل % يليها رقمان ست عشريان لكل بايت. فتصبح المسافة %20 ويصبح الحرف «م» %D9%85، وهما بايتاه في UTF-8. وبهذا ينتقل أي نص داخل الرابط دون أن يتغيّر معناه.
ما الفرق بين encodeURI وencodeURIComponent؟⌄
يرمِّز encodeURIComponent كل حرف له معنى خاص في الرابط، ومنها / ? & و=، ولذلك هو الخيار الصحيح لقيمة واحدة مثل مُعامل. أما encodeURI فيترك هذه الأحرف كي يبقى العنوان الكامل صالحًا. واستخدام encodeURI على قيمة يسمح لعلامة & داخلها بشطر المُعامل إلى اثنين.
هل المسافة %20 أم +؟⌄
كلاهما صحيح في مواضع مختلفة. في استعلام نموذج HTML (application/x-www-form-urlencoded) المسافة هي +. وفي المسار ومعظم واجهات API المسافة %20 و+ علامة جمع حرفية. وعند الشك فإن %20 آمنة دائمًا.
لماذا أرى %2520 في الرابط؟⌄
%25 هي علامة % نفسها بعد ترميزها، لذا فإن %2520 هي %20 مُرمَّزة للمرة الثانية. أي أن قيمة مُرمَّزة أصلًا رُمِّزت من جديد. فُك ترميزها مرتين لاستعادة الأصل، ثم أصلح الشيفرة لترمِّز مرة واحدة.
هل ترميز الروابط نوع من التشفير؟⌄
لا. فهو قابل للعكس تمامًا ولا يستخدم مفتاحًا، ويمكن لأي شخص فك ترميزه. لا تعتمد عليه أبدًا لإخفاء كلمة مرور أو رمز أو بيانات شخصية في رابط؛ فالروابط تنتهي في السجلات وسجل المتصفح وترويسات Referer.