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

دليل تشفير URL: Percent-Encoding وUTF-8

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

إجابة سريعة

encodeURIComponent يشفر جميع الأحرف الخاصة، encodeURI يترك :/?#[]@. %20 = مسافة، %E2%82%AC = €. استخدم أداة تشفير URL المجانية — دعم UTF-8 كامل في متصفحك.

مقدمة

تشفير URL (percent-encoding) يحول الأحرف غير الآمنة إلى %XX. الأحرف الآمنة هي A-Z وa-z و0-9 و- و_ و. و~. كل الأحرف الأخرى تشفر، خاصة المسافة (%20)، الأحرف غير ASCII (UTF-8 multi-byte)، والرموز الخاصة.

خطوة بخطوة

  1. تحديد ما يحتاج إلى الترميز

    يجب أن تكون الأحرف غير الموجودة في المجموعة غير المحجوزة (A-Z، a-z، 0-9، -، .، _، ~) مشفرة بنسبة مئوية. يتضمن ذلك المسافات وفواصل الاستعلام مثل = و& والشرطات المائلة وجميع الأحرف غير ASCII مثل الصينية أو العربية أو الرموز التعبيرية.

  2. قم بتشفير URL أو سلسلة الاستعلام

    الصق النص في أداة التشفير URL. يستخدم encodeURIComponent() لتشفير كل حرف محجوز. تظهر النتيجة على الفور في حقل الإخراج.

  3. انسخ النتيجة المشفرة

    انقر فوق الزر "نسخ" لنسخ السلسلة المشفرة بنسبة مئوية. يمكنك الآن تضمينه بأمان في معلمة استعلام URL أو طلب API أو إرسال النموذج.

  4. فك تشفير URL

    قم بلصق URL أو سلسلة استعلام مشفرة في أداة فك التشفير URL. ويستخدم decodeURIComponent() لاستعادة الأحرف الأصلية. تحقق من أن الإخراج الذي تم فك تشفيره يتوافق مع توقعاتك.

  5. التحقق من حالات الحافة

    تأكد من فك تشفير المسافات بشكل صحيح (%20 مقابل +)، ومن فك تشفير تسلسلات UTF-8 متعددة البايت إلى الحرف الصحيح، ومن أن السلاسل المشفرة بالفعل ليست مزدوجة التشفير.

أمثلة

تشفير النص بمسافة

مدخل: Hello World

الإخراج: Hello%20World

ترميز فاصل المسار

مدخل: a/b

الإخراج: a%2Fb

ترميز الأحرف الصينية (UTF-8)

مدخل: 你好

الإخراج: %E4%BD%A0%E5%A5%BD

فك ترميز معلمة الاستعلام المشفرة

مدخل: key%3Dvalue%26foo%3Dbar

الإخراج: key=value&foo=bar

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

  • التشفير المزدوج: يؤدي تشفير سلسلة مشفرة بالفعل إلى تحويل %20 إلى %2520. تحقق دائمًا مما إذا كان الإدخال مشفرًا بالفعل قبل إعادة التشفير.
  • الخلط بين encodeURI وencodeURIComponent: يحتفظ encodeURI بالأحرف المحجوزة مثل / و ? و سليمة لـ URLs الكامل، بينما يقوم encodeURIComponent بتشفير كل شيء لقيم معلمات الاستعلام.
  • معالجة المساحة: %20 هو النموذج المرمز بنسبة مئوية؛ + صالح فقط في بيانات النص application/x-www-form-urlencoded، وليس في المسار URL أو سلسلة الاستعلام لكل RFC 3986.
  • الترميزات القديمة غير UTF-8: يتم تشفير المتصفحات الحديثة كـ UTF-8، لكن الأنظمة القديمة قد تستخدم GBK أو Latin-1، مما يتسبب في حدوث mojibake عند فك تشفيره على الجانب الآخر.

نصائح

  • استخدم encodeURIComponent() لقيم معلمات الاستعلام الفردية، وencodeURI() لكامل URLs التي تم تشكيلها بشكل جيد بالفعل.
  • عند إنشاء سلاسل استعلام، قم بتشفير القيمة ولكن ليس الفواصل = أو & — قم بتشفير كل قيمة بشكل منفصل ثم ضمها بـ &.
  • استخدم أدوات التشفير ووحدة فك التشفير URL لتصحيح أخطاء استدعاءات API التي تُرجع 400 خطأ بسبب سلاسل استعلام غير صحيحة.
  • قم دائمًا بفك التشفير على جانب الخادم باستخدام نفس ترميز الأحرف (UTF-8) لتجنب mojibake.

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

أدلة ذات صلة

مراجع