מה ההבדל בין שיטות decodeURIComponent() ל-decodeURI() ב-JavaScript?

Mh Hhbdl Byn Sytwt Decodeuricomponent L Decodeuri B Javascript



JavaScript ' decodeURIConponent() ' וה ' decodeURI() שיטות עובדות על URI (זיהוי משאב אחיד). שיטת 'decodeURIComponent()' מפענחת את הרכיבים שלה ואילו ה-'decodeURI()' מפענחת אותו לחלוטין. לפיכך, ההגדרות שלהם מזהות בבירור את ההבדל בין שניהם, אך הן גם שונות זו מזו על בסיס כמה גורמים אחרים.

מדריך זה מגייס את ההבדל בין שיטות decodeURIComponent() ל-decodeURI() .

ראשית, תסתכל על היסודות של decodeURIConponent() וה decodeURI שיטות







לפני שממשיכים לחלוקות ביניהם.



מה ההבדל בין שיטות 'decodeURIComponent()' ו-'decodeURI()' ב-JavaScript?

סעיף זה כולל את ההבדלים המשמעותיים בין השיטות 'decodeURIComponent()' ו-'decodeURI()':



תנאים decodeURIConponent() decodeURI()
נוֹהָג ה-'decodeURIComponent()' משמש לפענוח רכיבי ה-URI המקודדים בשיטת 'encodeURIComponent()'. ה-'decodeURI()' משמש לפענוח ה-URI המלא המקודד בעזרת שיטת 'encodeURI'.
פרמטרים ה-'decodeURIComponent()' דורש URI 'מקודד' בשיטת 'encodeURIComponent()' כפרמטר החובה לפענוח. ה-'decodeURI()' זקוק ל-URI 'מקודד' באמצעות שיטת 'encodeURI()' כפרמטר החיוני שלו לביצוע פעולת פענוח.
הַגבָּלָה ה-'decodeURIComponent()' מפענח רק את החלק של ה-URI שנמצא בין ה-'; / ? : @ & = + $ , #' מפרידים. זה מתייחס לדמויות האלה כאל טקסט, לא לתווים מיוחדים. ה-'decodeURIComponent()' מפענח את ה-URI המלא.

כעת, ראה את ההבדלים המוצהרים באופן מעשי.





הבדל 1: החלת שיטות 'decodeURIComponent()' ו-'decodeURI()' המבוססות על 'שימוש'

לפי ההבדל הראשון, שיטת 'decodeURIComponent()' מפענחת את המחרוזת המקודדת באמצעות שיטת 'encodeURIComponent()' וה-'decodeURI()' מפענחת את המחרוזת המקודדת באמצעות שיטת 'encodedURI()'.

קוד JavaScript

< תַסרִיט >

var uri = '%3B%2C%41%3F%3A%41%26%3D'

var encoded_URI = encodeURIComponent ( סוּג ) ;

לְנַחֵם. עֵץ ( 'Output(decodeURIComponent()):' + decodeURIComponent ( סוּג ) )

var encoded_uri = encodeURI ( סוּג ) ;

לְנַחֵם. עֵץ ( 'URI מפוענח:' + decodeURI ( encoded_uri ) ) ;

תַסרִיט >

בקטע הקוד שלמעלה:



  • המשתנה 'uri' מאתחל URI (זיהוי משאב אחיד).
  • המשתנה 'encoded_URI' מחיל את ' encodeURIConponent() ' שיטה כדי לקודד את 'uri' שעבר כפרמטר שלו.
  • לאחר מכן, שיטת 'console.log()' משתמשת ב-' decodeURIConponent() ' שיטה לפענח את המחרוזת שקודדה לאחרונה ולאחר מכן להציג אותה במסוף.
  • לאחר מכן, ה' decodeURI() שיטת ' מפענחת את URI המקודד באמצעות ' encodeURI() שיטה שצוינה במשתנה 'encoded_uri'.

תְפוּקָה

ניתן לראות שהמסוף מציג את ה-URI המפוענחים באמצעות שיטות 'decodeURIComponent()' ו-'decodeURI()'

הבדל 2: החלת שיטות 'decodeURIComponent()' ו-'decodeURI()' המבוססות על 'פרמטרים'

ניתן לראות בבירור ב'הבדל 1' שה-'decodeURIComponent()' מקבל את ה-URI המקודד באמצעות שיטת 'encodeURIComponent()' וה-'decodeURI()' פועל על ה-URI המקודד באמצעות שיטת 'encodeURI()' כמו פרמטר.

הבדל 3: החלת שיטות 'decodeURIComponent()' ו-'decodeURI()' המבוססות על 'תווים מפוענחים'

ניתן לנתח את ההבדל השלישי בין שיטות 'decodeURIComponent()' ו-'decodeURI()' על ידי פענוח ה-URI הספציפי. בוא נראה את זה באופן מעשי.

קוד JavaScript

< תַסרִיט >

var uri = '@%20&%7F=%3A%41%26%3D'

לְנַחֵם. עֵץ ( 'Output(decodeURIComponent()): ' + decodeURIComponent ( סוּג ) )

לְנַחֵם. עֵץ ( 'Output(decodeURI()): ' + decodeURI ( סוּג ) )

תַסרִיט >

בקטע התסריט הנתון:

  • הראשון ' console.log() שיטת ' מציגה URI מפוענח באמצעות ' decodeURIConponent() ' שיטה.
  • השיטה השנייה 'console.log()' מציגה את ה-URI המפוענח בעזרת ה-' decodeURI() ' שיטה.

תְפוּקָה

המסוף מראה בבירור ששיטת 'decodeURIComponent()' מפענחת רק את רכיב ה-URI שנמצא בין תווי '@ & =', ולא את ה-URI המלא.

סיכום

JavaScript ' decodeURIConponent() ' וה ' decodeURI() ' שיטות שונות זו מזו בהתאם ל' נוֹהָג ', ' פרמטרים ', וה ' הַגבָּלָה ' גורמים. ההבדל העיקרי/המשמעותי ביניהם הוא שה-'decodeURIComponent()' מפענח את רכיב ה-URI בעוד ששיטת 'decodeURI()' מפענחת את ה-URI המלא. מדריך זה הסביר באופן מעשי את ההבדלים העיקריים בין שיטות decodeURIComponent() ו-decodeURI().