encodeURI、encodeURIComponent


encodeURI是對整個uri進行編碼的,而encodeURIComponent是對uri中部分內容進行編碼。

  在進行url的字符串拼接時,需要進行兩次encodeURI。

  只進行一次encodeURI,服務器在進行request.getParameter()時會自動進行一次解碼,而這個解碼字符集可能使用的是操作系統默認字符集。

  如果進行兩次encodeURI,在服務器端,首先通過request.getParameter()自動進行第一次解碼(可能是gb2312,gbk,utf-8,iso-8859-1等字符集,對結果無影響)得到ascii字符,然后再使用UTF-8進行第二次解碼,通常使用java.net.URLDecoder("","UTF-8")方法。

  兩次編碼兩次解碼的過程為:

  UTF-8編碼->UTF-8(iso-8859-1)編碼->iso-8859-1解碼->UTF-8解碼,編碼和解碼的過程是對稱的,所以不會出現亂碼。

  encodeURL函數主要是來對URI來做轉碼,它默認是采用的UTF-8的編碼.

  UTF-8編碼的格式:一個漢字來三個字節構成,每一個字節會轉換成16進制的編碼,同時添加上%號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM