㈠ urlencode進行轉換後 為什麼空格是+號 不是%20
可以看看php的函數urlencode() 和 rawurlencode()函數的實現方式,第二個是raw轉換,會把對應的空格更換成 %20 的編碼方式。
%20 是空格的 URL 字元編碼。
[ol][*] [*]$new_true_url = iconv('gbk','utf-8',$true_url);
[*]$down_true_url =??urlencode($new_true_url);
[*]$down_true_url =str_replace("%3A%2F%2F", "://", $down_tr。
使用編碼函數就可以將特定字元轉換成規定的字元編碼,包括空格等。解碼函數功能剛好相反。參數是需要處理的字元串,返回值是處理好的字元串。不過這些函數作用都有差異,詳細內容可以自己查看資料。
(1)php加號空格擴展閱讀:
編碼原理:
將需要轉碼的字元轉為16進制,然後從右到左,取4位(不足4位直接處理),每2位做一位,前面加上%,編碼成%XY格式。
比如:
空格ASCII碼是32,對應16進制是20,那麼urlencode編碼結果是:%20,但在新標准中空格對應的是+,見RFC-1738
比如:
中ASCII碼是-10544,對應的16進制是D6D0,那麼urlencode編碼結果是:%D6%D0。