المسافات والرموز والأحرف الخاصة تفسد الروابط — الترميز النسبي (percent-encoding) يحلّ ذلك. قم بترميز أي رابط لإرساله بأمان، أو فك ترميزه ليصبح نصاً قابلاً للقراءة، فوراً.
جارٍ تحميل الآلة الحاسبة...
هل ساعدتك هذه الأداة؟
ما هي مُرمِّز/فاكّ ترميز URL؟
يحوّل مُرمِّز/فاكّ ترميز URL النص العادي إلى تنسيق ترميز نسبي آمن للروابط وبالعكس. أساسي لمطوري الويب الذين يتعاملون مع معاملات الاستعلام وطلبات API وتوجيه الروابط.
متى تستخدم هذه الآلة الحاسبة
تبني رابطاً بمعاملات استعلام تحتوي مسافات أو رموزاً أو أحرفاً غير ASCII
تحتاج إلى فك ترميز رابط مكرر الترميز النسبي لقراءة محتواه الفعلي
تصحح خطأ في API يرفض رابطك بسبب أحرف خاصة غير مكرر ترميزها
تعالج روابط مقدمة من المستخدم تحتاج إلى تنظيف قبل الاستخدام
تحتاج إلى ترميز أو فك ترميز أجزاء روابط متعددة دفعة واحدة
تبني عمليات إعادة توجيه أو روابط رد تتطلب ترميز المعاملات بشكل صحيح
الخطوات:
اكتب أو الصق النص/الرابط الذي تريد ترميزه أو فك ترميزه.
اختر وضع الترميز أو فك الترميز.
انقر زر التحويل.
انسخ النتيجة لاستخدامها في تطبيقك.
الصيغة
الترميز: الأحرف غير الآمنة → % + رمز سداسي عشري من رقمين ➡ فك الترميز: %XX → الحرف الأصلي
حالات الاستخدام
بناء سلاسل استعلام آمنة للروابط
معالجة معاملات طلبات API
تصحيح أخطاء الروابط المرمّزة
إنشاء مسارات وسلاغات ملائمة للروابط
الفوائد الرئيسية
ترميز وفك ترميز فوريين
التعامل مع جميع الأحرف الخاصة
يعمل بالكامل داخل المتصفح
مجاني ولا يتطلب تسجيلاً
نصائح احترافية
قم دائماً بترميز معاملات الرابط المُنشأة من قبل المستخدم
استخدم encodeURIComponent() لمعاملات الاستعلام في جافاسكربت
فك ترميز الروابط قبل عرضها على المستخدمين لتكون مقروءة
الأخطاء الشائعة التي يجب تجنبها
الترميز المزدوج للروابط عن طريق الخطأ
استخدام الترميز الخاطئ في السياق الخاطئ (رابط مقابل HTML)
نسيان أن + تمثل مسافة في سلاسل الاستعلام وليس في أجزاء المسار
شرح المصطلحات الأساسية
ترميز الرابط: الترميز النسبي للروابط الآمنة
الترميز النسبي: % متبوعة برمز سداسي عشري
سلسلة الاستعلام: المعاملات بعد ? في الرابط
الأحرف المحجوزة: أحرف ذات معنى خاص في الرابط
مفاهيم ذات صلة
الترميز النسبي: آلية استبدال الأحرف غير الآمنة بـ % متبوعاً برمز ASCII سداسي عشري مكوّن من رقمين لإرسال آمن عبر الروابط
سلسلة الاستعلام: الجزء من الرابط بعد الحرف ?، ويحتوي أزواج مفاتيح-قيم مفصولة بالأحرف &
الأحرف المحجوزة: أحرف مثل :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = لها معنى خاص في بناء جملة الرابط وفقاً لـ RFC 3986
أحرف آمنة للروابط: أحرف غير محجوزة (حروف وأرقام و- و_ و. و~) لا تتطلب ترميزاً في الروابط
encodeURIComponent مقابل encodeURI: دوال جافاسكربت حيث encodeURIComponent ترمّز كل شيء باستثناء الحروف والأرقام و_*-.~ للقيم الفردية، بينما encodeURI تحافظ على أحرف بنية الرابط للروابط الكاملة
يحوّل المرمِّز أحرف الرابط غير الآمنة (المسافات و& و? و# والأحرف غير ASCII، إلخ) إلى تنسيق ترميز نسبي حيث يصبح كل حرف % متبوعاً برمزه السداسي العشري المكوّن من رقمين. ويعكس فاكّ الترميز هذه العملية لاستعادة النص الأصلي القابل للقراءة. يساعدك عدد الأحرف في التحقق من أن الترميز لم يكرر إدخالك أو يقصّه بشكل غير متوقع.
وضع المكوّن يرمّز مجموعة أوسع من الأحرف وهو مصمم لترميز قيم معاملات استعلام فردية. وضع الرابط أكثر صرامة فيما يتعلق بما يُرمَّز وهو مصمم لترميز مسارات الروابط الكاملة أو الروابط كاملة. استخدم وضع المكوّن عند بناء سلاسل الاستعلام ووضع الرابط عند ترميز رابط كامل.
الوضع الدفعي يتيح لك ترميز أو فك ترميز عدة أسطر دفعة واحدة، وهو مفيد عندما يكون لديك قائمة روابط أو معاملات لمعالجتها. يُعامل كل سطر كإدخال منفصل، وتُعرض جميع النتائج معاً لسهولة النسخ.
الأسئلة الشائعة
لماذا تحتاج الروابط إلى ترميز؟
يمكن للروابط أن تحتوي على أحرف ASCII معينة فقط. يجب ترميز الأحرف مثل المسافات و& و? و# والأحرف غير ASCII (الترميز النسبي) لضمان إرسالها بأمان عبر الإنترنت.
ما هو الترميز النسبي (percent-encoding)؟
الترميز النسبي يستبدل الأحرف غير الآمنة بعلامة % متبوعة برمزها السداسي العشري المكوّن من رقمين. على سبيل المثال، تتحول المسافة إلى %20 وتتحول & إلى %26.
هل ترميز الرابط هو نفسه ترميز HTML؟
لا. ترميز الرابط (الترميز النسبي) مخصص للروابط. أما ترميز HTML فيستخدم كيانات مثل & للرمز & أو < للرمز <. يخدمان أغراضاً مختلفة في تطوير الويب.
متى يجب استخدام وضع الرابط بدلاً من وضع المكوّن؟
استخدم وضع المكوّن عند ترميز قيمة معامل استعلام واحدة (مثل مصطلح بحث). واستخدم وضع الرابط عند ترميز مسار رابط كامل أو عندما تحتاج إلى أن تكون السلسلة كاملة آمنة للاستخدام في الروابط. وضع المكوّن يرمّز عدداً أكبر من الأحرف لأنه يفترض أن القيمة ستوضع داخل بنية رابط.
لماذا يعطي ترميز 'Hello World' الناتج 'Hello%20World' بدلاً من 'Hello+World'؟
في أجزاء مسار الرابط، تُرمَّز المسافات على شكل %20. وترميز المسافة بعلامة + يُستخدم فقط في بيانات application/x-www-form-urlencoded (نماذج إرسال HTML). أفضل الممارسات الحديثة هي استخدام %20 باستمرار في الروابط. تستخدم الحاسبة %20 لترميز الروابط.
هل يمكنني ترميز أحرف غير ASCII مثل الرموز التعبيرية أو الحروف المُشكَّلة؟
نعم. تُحوَّل الأحرف غير ASCII أولاً إلى بايتات UTF-8، ثم يُرمَّز كل بايت ترميزاً نسبياً. على سبيل المثال، الرمز التعبيري ☺ (U+1F600) يصبح %F0%9F%98%80. والحروف المُشكَّلة مثل é (U+00E9) تصبح %C3%A9. هذا هو النهج القياسي المعرّف في RFC 3986.
ما الفرق بين هذا وترميز كيانات HTML؟
ترميز الرابط (الترميز النسبي) مخصص للروابط — فهو يحوّل الأحرف إلى أكواد سداسية عشرية مثل %XX. أما ترميز كيانات HTML فيحوّل الأحرف إلى كيانات مسماة أو رقمية مثل & للرمز & أو € للرمز €. يخدمان أغراضاً مختلفة تماماً ولا يمكن استبدال أحدهما بالآخر.
لماذا تعمل بعض الروابط دون ترميز رغم احتوائها على أحرف خاصة؟
المتصفحات الحديثة ترمّز الروابط تلقائياً عند التنقل إليها أو عند إرسال النماذج. لكن عندما تبني الروابط برمجياً (في الكود أو استدعاءات API أو إعادة التوجيه من الخادم)، يجب أن ترمّز يدوياً لأن الخادم لن يفعل ذلك نيابة عنك.
هل هناك خطر من الترميز المزدوج؟
نعم. إذا قمت بترميز رابط مكرر الترميز بالفعل، يصبح %20 هو %2520 وهذا غير صحيح. تحقق دائماً مما إذا كان الإدخال مكرر الترميز قبل الترميز مجدداً. تعرض هذه الحاسبة المخرجات المفكوكة حتى تتمكن من التحقق من صحة النتيجة.
كيف أتعامل مع الروابط المرمّزة في جافاسكربت؟
استخدم decodeURIComponent() لفك الترميز وencodeURIComponent() لترميز القيم الفردية. وبالنسبة للروابط الكاملة، استخدم decodeURI() وencodeURI() اللتين تحافظان على أحرف بنية الرابط (/, ?, #، إلخ). لا تستخدم أبداً escape() أو unescape() — فهما مهملتان ولا تتعاملان مع يونيكود بشكل صحيح.