1. 程式人生 > >URL中特殊字元(+?%#&=/)的處理

URL中特殊字元(+?%#&=/)的處理

在url中直接使用一些特殊字元,在伺服器端接收的時候經常出現數據丟失的情況。
那麼哪些字元能夠直接被伺服器識別,哪些有不能呢?
字元“a-z”,”A-Z”,”0-9”,”.”,”-“,”_”,”*”都會直接被伺服器識別,維持原值。
然而,字元”+”,”/”,”?”,”%”,”#”,”&”,”=”都將被轉碼。那麼我們就需要轉碼來讓伺服器進行識別。

  • “+” url中+號的表示空格 轉化 %2B
  • “/” 用來分割目錄和子目錄 轉化 %2F
  • “?” 用來分割請求的url和引數 轉化 %3F
  • “%” 用來指定特殊字元 轉化 %25
  • “#” 用來表示書籤 轉化 %23
  • “&” 用來表示url中指定的引數間的分割符 轉化%26
  • “=” 用來表示url中指定的引數的值 轉化 %3D
  • “” url中的空格可以用+號或編碼 轉化%20
    比如,我想讓服務端識別的url為:127.0.0.1:8080/user.do?name=a12+%
    那麼,我應該在位址列輸入為:127.0.0.1:8080/user.do?name=a12%2B%25

在java中提供了對url的編碼和解碼:
編碼:java.net.URLEncoder.encode(url,”UTF-8”);
解碼:java.net.URLDecoder.decode(url,”UTF-8”);