iOS開發中URL中不合法字元的轉義

2021-07-24 20:41:31 字數 762 閱讀 8404

通常我們在拼接網路請求url的時候,比如請求網路,通過get方法請求網路資料,有時會遇到請求失敗的問題,於是各種找原因,就是不明白問題出在**。我也是遇到了這種問題最後才發現我本來請求介面裡有個「+」,而到伺服器端反饋給我的資訊顯示變成了空格「 」,後來才反應過來,原來是請求之前要對url中的特殊字元進行轉義!

通常用到的url轉義有兩種方式:

方式一:stringbyaddingpercentescapesusingencoding(有些特殊的字元不能轉義比如「+」)

nsstring *encodeurlstr=[urlstr stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];
方式二:cfurlcreatestringbyaddingpercentescapes(有乙個需要轉義的字符集,可以將所有需要轉義的字元轉義成百分數)

nsstring *encodeurlstr=(__bridge_transfer nsstring *)cfurlcreatestringbyaddingpercentescapes(null,(__bridge cfstringref)urlstr,cfstr("!*'();:@&=+$,/?%#"),cfstringconvertnsstringencodingtoencoding(nsutf8stringencoding));
轉義url一般會用在涉及加密解密的時候,因為正常的字串加密之後就可能會出現&,+,#等等特殊的符號。

iOS開發 url的特殊字元轉換

url特殊字元處理 一般來說我們呼叫webview的時候,只要給webview傳乙個url,在網頁裡面就可以顯示網頁資訊。但是當我們傳的url比較麻煩或者帶文字元,帶引數的時候我們需要對特殊字元進行轉義。我們還可以用遍歷,正則等來把特殊字元給替換掉!有兩種方法 一,使用nsstring的方法 1.字...

URL中特殊字元處理

如果你的表單使用get方法提交,並且提交的引數中有 等特殊符的話,如果不做處理,在service端就會將 後面的作為另外乙個引數來看待。例如 表單的action為list.jsf?act go state 5 則提交時通過request.getparameter可以分別取得act和state的值。如...

url中特殊字元轉義

在前端向後端傳一些特定字元的時候有幾個特殊字元需要進行轉義 如果不進行編碼手動進行轉義可以對照下面 url中 號表示空格 2b 空格 url中的空格可以用 號或者編碼 20 url中分隔目錄和子目錄 2f url中分隔實際的url和引數 3f url中指定特殊字元 25 url中表示書籤 23 ur...