تخطي إلى المحتوى الرئيسي
FreeOnlineTools Go
العربية
توضيح

ما هو تشفير URL؟ شرح Percent-Encoding

بواسطة FreeOnlineTools Team · تم التحديث في 2026-09-02

إجابة سريعة

تشفير URL = %XX للأحرف غير الآمنة. %20 = مسافة، %E2%82%AC = €. encodeURIComponent للمعاملات، encodeURI لعناوين كاملة. استخدم أداة تشفير URL المجانية في متصفحك.

مقدمة

تشفير URL (percent-encoding) يحول الأحرف غير الآمنة في URL إلى %XX حيث XX هو كود الحرف الست عشري. ضروري لأن URL يمكن أن تحتوي فقط على أحرف ASCII. الأحرف غير ASCII (مثل العربية أو €) تشفر كـ UTF-8 multi-byte ثم percent-encoded.

خطوة بخطوة

  1. افهم الأحرف التي تحتاج إلى تشفير

    الأحرف غير المحفوظة (A-Z، a-z، 0-9، -، _، .، ~) لا تحتاج إلى تشفير. الأحرف المحجوزة (:، /، ?، #، [، ]، @، !، $، &، '، (، )، *، +، ,، ;، =) لها معنى خاص في URLs ويجب ترميزها عند استخدامها كبيانات. يجب ترميز جميع الأحرف الأخرى (المسافات وعلامات الاقتباس وغير ASCII).

  2. تعرف على آلية التشفير

    يتم تحويل كل حرف يحتاج إلى تشفير إلى تسلسل بايت UTF-8 الخاص به، ثم يتم تمثيل كل بايت كـ %XX حيث XX هي القيمة السداسية. مسافة (0x20) → %20. الحرف غير ASCII 'é' (UTF-8: 0xC3 0xA9) → %C3%A9.

  3. التمييز بين encodeURI وencodeURIComponent

    يقوم encodeURI() بترميز URL كاملًا ولكنه يحتفظ بالأحرف المحجوزة (:/?&=) التي تعد جزءًا من بنية URL. يقوم encodeURIComponent() بتشفير كل شيء باستثناء الأحرف غير المحفوظة - استخدمه لقيم معلمات الاستعلام حيث تكون الأحرف المحجوزة عبارة عن بيانات وليست بنية.

  4. فك تشفير النسبة المئوية URLs

    يؤدي فك التشفير إلى عكس التشفير: %20 → space، %C3%A9 → é. استخدم decodeURI() لـ URLs الكامل وdecodeURIComponent() لقيم معلمات الاستعلام. تسلسلات الهروب غير الصالحة (مثل %ZZ) تؤدي إلى حدوث أخطاء.

أمثلة

تشفير الفضاء

مدخل: hello world

الإخراج: hello%20world

تشفير نص غير ASCII

مدخل: café

الإخراج: caf%C3%A9

ترميز قيمة معلمة الاستعلام

مدخل: name=John Doe & Co.

الإخراج: name%3DJohn%20Doe%20%26%20Co.

المشاكل الشائعة

  • تشفير URL بالكامل عندما تكون القيم فقط هي التي تحتاج إلى تشفير — تشفير قيم معلمات الاستعلام، وليس بنية URL (://?&=).
  • التشفير المزدوج - إذا تم ترميز URL بالفعل، فسينتج التشفير مرة أخرى %2520 بدلاً من %20. قم بفك التشفير أولاً إذا لم تكن متأكدًا مما إذا كان قد تم ترميزه بالفعل.
  • استخدام encodeURI مقابل encodeURIComponent بشكل غير صحيح —يحتفظ encodeURI بأحرف البنية URL؛ يقوم encodeURIComponent بتشفيرها. استخدم الأخير لقيم معلمات الاستعلام.
  • تسلسلات الهروب غير الصالحة —%ZZ أو % واحد في النهاية غير صالحة وستؤدي إلى حدوث أخطاء عند فك التشفير.

نصائح

  • قم دائمًا بتشفير قيم معلمات الاستعلام التي قد تحتوي على مسافات أو أحرف خاصة أو إدخال المستخدم لمنع إدخال URL.
  • استخدم encodeURIComponent() لقيم معلمات الاستعلام، وencodeURI() لـ URLs الكامل الذي يحتاج فقط إلى أحرف غير آمنة مشفرة.
  • تشفير URL ليس تشفيرًا - يمكن لأي شخص فك تشفيره. لا تستخدمه أبدًا لإخفاء البيانات الحساسة.
  • استخدم برنامج التشفير ووحدة فك التشفير URL الخاص بنا للتحويل الفوري والخاص في متصفحك.

الأدوات ذات الصلة

أدلة ذات صلة

مراجع