هناك عدة طرق لتشفير سلاسل URL في JavaScript: Escape () و Encodeuri () و EncodeUricomponent (). أدوار هذه الترميزات تختلف.
طريقة الهروب ():
يتم ترميز السلسلة المحددة باستخدام مجموعة الأحرف اللاتينية ISO. سيتم تحويل جميع أحرف الفضاء ، وعلامات الترقيم ، والأحرف الخاصة ، وغيرها من الأحرف غير ASCII إلى تشفير أحرف ٪ XX (XX يساوي العدد السداسي للشخصية المشفرة في جدول مجموعة الأحرف). على سبيل المثال ، الترميز المقابل لحرف الفضاء هو ٪ 20.
الأحرف التي لن يتم ترميزها بهذه الطريقة: @ * / +
طريقة encodeuri ():
تحويل سلاسل URI إلى سلاسل تنسيق الهروب بتنسيق ترميز UTF-8.
الأحرف التي لن يتم ترميزها بهذه الطريقة:! @ # $ & * () =: / ؛ ؟ + '
طريقة EncodeUricOmponent ():
تحويل سلاسل URI إلى سلاسل تنسيق الهروب بتنسيق ترميز UTF-8. مقارنةً بـ Encodeuri () ، ستشفر هذه الطريقة المزيد من الأحرف ، مثل / إلخ. لذلك ، إذا كانت السلسلة تحتوي على عدة أجزاء من URI ، فلا يمكن استخدام هذه الطريقة لتشفيرها ، وإلا فإن عنوان URL سيعرض خطأً بعد ترميز الحرف.
الأحرف التي لن يتم ترميزها بهذه الطريقة:! * () '
لذلك ، بالنسبة للسلاسل الصينية ، إذا كنت لا ترغب في تحويل تنسيق ترميز السلسلة إلى تنسيق UTF-8 (على سبيل المثال ، عندما تكون charset للصفحة الأصلية والصفحة المستهدفة متماثلة) ، فأنت بحاجة فقط إلى استخدام Escape. إذا كانت صفحتك هي GB2312 أو ترميز آخر ، والصفحة التي تقبل المعلمات هي ترميز UTF-8 ، فيجب استخدام Encodeuri أو EncodeUricOpment.
بالإضافة إلى ذلك ، تم تقديم Encodeuri/EncodeUricomponent بعد JavaScript 1.5 ، بينما كان Escape متاحًا في إصدار JavaScript 1.0.