المطورين

URL Encoder / Decoder

المسافات والرموز والأحرف الخاصة تفسد الروابط — الترميز النسبي (percent-encoding) يحلّ ذلك. قم بترميز أي رابط لإرساله بأمان، أو فك ترميزه ليصبح نصاً قابلاً للقراءة، فوراً.

هل ساعدتك هذه الأداة؟

ما هي URL Encoder / Decoder؟

محوّل عنوان URL أداة أساسية لتطوير الويب تحوّل بين النص العادي والتنسيق الآمن للعناوين المشفرة بنسب مئوية. عندما تحتوي العناوين على مسافات أو رموز خاصة أو أحرف غير ASCII مثل الحروف المشوّهة والإيموجي، تتعطل ما لم تُشفّر بشكل صحيح. يوفر هذا الأداة التشفير والفك الفوري مع دعم كامل لوضع العنوان (تشفير العناوين الكاملة) ووضع المكوّن (تشفير قيم معلمات الاستعلام الفردية)، بالإضافة إلى وضع الدفعة للمعالجة المتعددة دفعة واحدة. يتعامل مع جميع عمليات التشفير النسبية المحددة في RFC 3986، وينقل الأحرف غير الآمنة إلى تمثيلها السداسي العشري المئوي والعكس. ضروري لمطوري الويب وم intégrateurs API ومتخصصي تحسين محركات البحث وأي شخص يعمل مع سلاسل الاستعلام أو إعادة التوجيه أو نقل البيانات المعتمد على العنوان. يعمل الأداة بالكامل في المتصفح بدون استدعاءات خادم، مما يجعلها سريعة وخاصة.

متى تستخدم هذه الآلة الحاسبة

  • تبني رابطاً بمعاملات استعلام تحتوي مسافات أو رموزاً أو أحرفاً غير ASCII
  • تحتاج إلى فك ترميز رابط مكرر الترميز النسبي لقراءة محتواه الفعلي
  • تصحح خطأ في API يرفض رابطك بسبب أحرف خاصة غير مكرر ترميزها
  • تعالج روابط مقدمة من المستخدم تحتاج إلى تنظيف قبل الاستخدام
  • تحتاج إلى ترميز أو فك ترميز أجزاء روابط متعددة دفعة واحدة
  • تبني عمليات إعادة توجيه أو روابط رد تتطلب ترميز المعاملات بشكل صحيح

الخطوات:

  1. اكتب أو الصق النص/الرابط الذي تريد ترميزه أو فك ترميزه.
  2. اختر وضع الترميز أو فك الترميز.
  3. انقر زر التحويل.
  4. انسخ النتيجة لاستخدامها في تطبيقك.

الصيغة

الترميز: الأحرف غير الآمنة → % + رمز سداسي عشري من رقمين ➡ فك الترميز: %XX → الحرف الأصلي

حالات الاستخدام

  • بناء سلاسل استعلام آمنة للروابط
  • معالجة معاملات طلبات API
  • تصحيح أخطاء الروابط المرمّزة
  • إنشاء مسارات وسلاغات ملائمة للروابط

الفوائد الرئيسية

  • تشفير وفك فوري مع نتائج فورية أثناء الكتابة
  • يدعم وضع العنوان ووضع المكوّن لسياقات التشفير المختلفة
  • وضع الدفعة لتشفير أو فك تشفير سلاسل متعددة في وقت واحد
  • يتعامل مع جميع الأحرف الخاصة بما في ذلك Unicode والإيموجي والحروف المشوّهة
  • معالجة تعتمد بالكامل على المتصفح — لا تتم إرسال بيانات إلى أي خادم، خاصة تمامًا
  • عدد أحرف مرئي للتحقق من عدم تكرار أو قص التشفير

نصائح احترافية

  • شفّر دائمًا معلمات العنوان التي ينشئها المستخدم قبل تضمينها في عنوان URL لمنع هجمات الحقن والروابط المكسورة
  • استخدم encodeURIComponent() في JavaScript لقيم معلمات الاستعلام الفردية — يشفّر أحرفًا أكثر من encodeURI() المصمم للعناوين الكاملة
  • فك تشفير العناوين قبل عرضها على المستخدمين لتحسين قابلية القراءة — العناوين المشفرة النئية تبدو غير احترافية
  • انتبه للتشفير المزدوج: إذا رأيت %25 يليه أرقام سداسية أخرى، فقد تم تشفير العنوان مرتين
  • استخدم وضع المكوّن عند بناء سلاسل الاستعلام ووضع URL عند ترميز مسارات URL كاملة أو عناوين URL كاملة

الأخطاء الشائعة التي يجب تجنبها

  • التشفير المزدوج للعناوين عن طريق تشفير عنوان URL مشفر بالفعل، مما يحول %20 إلى %2520
  • استخدام سياق التشفير الخاطئ — وضع العنوان ووضع المكوّن ينتجان مخرجات مختلفة لنفس الإدخال
  • نسيان أن علامة + تمثل المسافة فقط في بيانات application/x-www-form-urlencoded، وليس في أقسام مسار العنوان
  • عدم التعامل مع الأحرف غير ASCII بشكل صحيح — تأكد دائمًا من ترميز UTF-8 قبل التشفير النسبي

شرح المصطلحات الأساسية

التشفير النسبي: الآلية المعيارية لتشفير الأحرف في العناوين، استبدال الأحرف غير الآمنة بـ % يليها الرمز السداسي العشري المئوي المكون من رقمين
سلسلة الاستعلام: الجزء من عنوان URL بعد العلامة ?، يحتوي على أزواج القيم والمعلمات مفصولة بـ &
الأحرف المحجوزة: أحرف مثل :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = لها معنى نحوي خاص في العناوين وفقًا لـ RFC 3986
وضع المكوّن مقابل وضع العنوان: وضع المكوّن يشفّر أحرفًا أكثر وهو للقيم الفردية؛ وضع العنوان يحفظ بنية العنوان وهو للأقسام الكاملة

مفاهيم ذات صلة

  • الترميز النسبي: آلية استبدال الأحرف غير الآمنة بـ % متبوعاً برمز ASCII سداسي عشري مكوّن من رقمين لإرسال آمن عبر الروابط
  • سلسلة الاستعلام: الجزء من الرابط بعد الحرف ?، ويحتوي أزواج مفاتيح-قيم مفصولة بالأحرف &
  • الأحرف المحجوزة: أحرف مثل :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = لها معنى خاص في بناء جملة الرابط وفقاً لـ RFC 3986
  • أحرف آمنة للروابط: أحرف غير محجوزة (حروف وأرقام و- و_ و. و~) لا تتطلب ترميزاً في الروابط
  • encodeURIComponent مقابل encodeURI: دوال جافاسكربت حيث encodeURIComponent ترمّز كل شيء باستثناء الحروف والأرقام و_*-.~ للقيم الفردية، بينما encodeURI تحافظ على أحرف بنية الرابط للروابط الكاملة

مثال

ترميز 'Hello World & Friends!' → 'Hello%20World%20%26%20Friends%21'. وفك ترميز 'search%3Fq%3Dhello+world' → 'search?q=hello world'.

تفسير نتائجك

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

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

لماذا تحتاج الروابط إلى ترميز؟
يمكن للروابط أن تحتوي على أحرف ASCII معينة فقط. يجب ترميز الأحرف مثل المسافات و& و? و# والأحرف غير ASCII (الترميز النسبي) لضمان إرسالها بأمان عبر الإنترنت.
ما هو الترميز النسبي (percent-encoding)؟
الترميز النسبي يستبدل الأحرف غير الآمنة بعلامة % متبوعة برمزها السداسي العشري المكوّن من رقمين. على سبيل المثال، تتحول المسافة إلى %20 وتتحول & إلى %26.
هل ترميز الرابط هو نفسه ترميز HTML؟
لا. ترميز الرابط (الترميز النسبي) مخصص للروابط. أما ترميز HTML فيستخدم كيانات مثل &amp; للرمز & أو &lt; للرمز <. يخدمان أغراضاً مختلفة في تطوير الويب.
متى يجب استخدام وضع الرابط بدلاً من وضع المكوّن؟
استخدم وضع المكوّن عند ترميز قيمة معامل استعلام واحدة (مثل مصطلح بحث). واستخدم وضع الرابط عند ترميز مسار رابط كامل أو عندما تحتاج إلى أن تكون السلسلة كاملة آمنة للاستخدام في الروابط. وضع المكوّن يرمّز عدداً أكبر من الأحرف لأنه يفترض أن القيمة ستوضع داخل بنية رابط.
لماذا يعطي ترميز '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 فيحوّل الأحرف إلى كيانات مسماة أو رقمية مثل &amp; للرمز & أو &#8364; للرمز €. يخدمان أغراضاً مختلفة تماماً ولا يمكن استبدال أحدهما بالآخر.
لماذا تعمل بعض الروابط دون ترميز رغم احتوائها على أحرف خاصة؟
المتصفحات الحديثة ترمّز الروابط تلقائياً عند التنقل إليها أو عند إرسال النماذج. لكن عندما تبني الروابط برمجياً (في الكود أو استدعاءات API أو إعادة التوجيه من الخادم)، يجب أن ترمّز يدوياً لأن الخادم لن يفعل ذلك نيابة عنك.
هل هناك خطر من الترميز المزدوج؟
نعم. إذا قمت بترميز رابط مكرر الترميز بالفعل، يصبح %20 هو %2520 وهذا غير صحيح. تحقق دائماً مما إذا كان الإدخال مكرر الترميز قبل الترميز مجدداً. تعرض هذه الحاسبة المخرجات المفكوكة حتى تتمكن من التحقق من صحة النتيجة.
كيف أتعامل مع الروابط المرمّزة في جافاسكربت؟
استخدم decodeURIComponent() لفك الترميز وencodeURIComponent() لترميز القيم الفردية. وبالنسبة للروابط الكاملة، استخدم decodeURI() وencodeURI() اللتين تحافظان على أحرف بنية الرابط (/, ?, #، إلخ). لا تستخدم أبداً escape() أو unescape() — فهما مهملتان ولا تتعاملان مع يونيكود بشكل صحيح.

اكتشف المزيد من الأدوات

تشكيلة جديدة من مكتبتنا الكاملة للأدوات.