轉義與encodeURI/encodeURIComponent:使用注意事項
對要傳送到 Web伺服器的查詢字串進行編碼時,可以選擇使用escape()和encodeURI()/encodeURIComponent()取決於特定的需求application.
escape()
escape() 是遺留函數,不再建議使用。由於其不良特性,它已被棄用,取而代之的是encodeURI() 和encodeURIComponent()。具體來說,escape() 對 @*_ -./ 以外的特殊字元進行編碼,並且對代碼單元值為 0xFF 或更小的字元使用兩位數的十六進位轉義序列。根據 RFC3986 中的定義,查詢字串中不允許使用此格式。當需要工作 URL 時,應使用
encodeURI()
encodeURI()。它對不屬於 URI 規範的字元進行編碼,例如空格和非字母數字字元。但是,encodeURI() 不會對 ' 字元進行編碼。
encodeURIComponent()
encodeURIComponent() 在 URL 參數的值編碼時應使用。它對 URI 組件中無效的字元進行編碼,例如空格和非字母數字字元。此外,encodeURIComponent() 不會對 ' 字元進行編碼。
使用指南
以上是encodeURI() 與encodeURIComponent():何時使用哪一個進行 URL 編碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!