后端返回URL含有中文進行編碼胆萧、解碼處理

處理這個問題的初衷是:后端返回的用于跳轉(zhuǎn)web頁面的URL含有中文绞呈,WKWebView在加載包含中文的URL時發(fā)生了轉(zhuǎn)義而無法加載只是顯示空白頁面纱意。需要對包含中文的URL進行編碼處理以防止發(fā)生轉(zhuǎn)義婶溯。

處理方式很簡單:

1、編碼

- (NSString*)urlEncode:(NSString*)urlString {

#pragma clang diagnostic push

#pragma clang diagnostic ignored"-Wdeprecated-declarations"

? ? NSString *encodedString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (CFStringRef)urlString,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NULL,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? kCFStringEncodingUTF8));

? ? returnencodedString;

#pragma clang diagnostic pop

}

2偷霉、解碼

- (NSString*)urlDecode:(NSString*)urlString? {

#pragma clang diagnostic push

#pragma clang diagnostic ignored"-Wdeprecated-declarations"

? ? ? ? CFStringEncoding en = CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding);

? ? ? ? NSString *decoded = [urlString stringByReplacingOccurrencesOfString:@"+"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? withString:@" "];

? ? ? ? decoded = (__bridge_transferNSString*)

? ? ? ? CFURLCreateStringByReplacingPercentEscapesUsingEncoding(

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NULL,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (__bridgeCFStringRef)decoded,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CFSTR(""),

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? en);

? ? ? ? returndecoded;

#pragma clang diagnostic pop

}

三迄委、使用方法

對需要編碼處理的URL進行編碼處理即可,例子如下:

NSString *urlStr = @"https://pay-zto-test.zt-express.com/cashier-static/h5/cashier?systemCode=10007&sceneCode=10025&sign=ed37f0a3a541af5aa11cd273c65f2e44&partnerOrderCode=Z1007876566test&payTypeCode=TC0036&payMethodCode=10002&recipientName=中通快遞&platform=txkdg";

?NSString*encodeString = [self urlEncode:urlStr];

NSLog(@"編碼encodeString===%@",encodeString);

打印結(jié)果為:https://pay-zto-test.zt-express.com/cashier-static/h5/cashier?systemCode=10007&sceneCode=10025&sign=ed37f0a3a541af5aa11cd273c65f2e44&partnerOrderCode=Z1007876566test&payTypeCode=TC0036&payMethodCode=10002&recipientName=%E4%B8%AD%E9%80%9A%E5%BF%AB%E9%80%92&platform=txkdg

需要解碼回中文的話字節(jié)調(diào)用解碼方法即可类少。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末叙身,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子硫狞,更是在濱河造成了極大的恐慌信轿,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件残吩,死亡現(xiàn)場離奇詭異财忽,居然都是意外死亡,警方通過查閱死者的電腦和手機泣侮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門即彪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人活尊,你說我怎么就攤上這事隶校÷┮妫” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵深胳,是天一觀的道長绰疤。 經(jīng)常有香客問我,道長稠屠,這世上最難降的妖魔是什么峦睡? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮权埠,結(jié)果婚禮上榨了,老公的妹妹穿的比我還像新娘。我一直安慰自己攘蔽,他們只是感情好龙屉,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著满俗,像睡著了一般转捕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唆垃,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天五芝,我揣著相機與錄音,去河邊找鬼辕万。 笑死枢步,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的渐尿。 我是一名探鬼主播醉途,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼砖茸!你這毒婦竟也來了隘擎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤凉夯,失蹤者是張志新(化名)和其女友劉穎货葬,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體劲够,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡宝惰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了再沧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡尊残,死狀恐怖炒瘸,靈堂內(nèi)的尸體忽然破棺而出淤堵,到底是詐尸還是另有隱情,我是刑警寧澤顷扩,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布拐邪,位于F島的核電站,受9級特大地震影響隘截,放射性物質(zhì)發(fā)生泄漏扎阶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一婶芭、第九天 我趴在偏房一處隱蔽的房頂上張望东臀。 院中可真熱鬧,春花似錦犀农、人聲如沸惰赋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赁濒。三九已至,卻和暖如春孟害,著一層夾襖步出監(jiān)牢的瞬間拒炎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工挨务, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留击你,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓耘子,卻偏偏與公主長得像果漾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子谷誓,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)自:http://www.code4app.com/blog-866962-1317.html1绒障、設置UILab...
    MMOTE閱讀 1,608評論 1 1
  • 1、設置UILabel行間距 NSMutableAttributedString* attrString = [[...
    十年一品溫如言1008閱讀 1,650評論 0 3
  • 1.URL編碼 NSString *encodeURL = [url stringByAddingPercentE...
    王家小雷閱讀 2,925評論 0 0
  • 到了現(xiàn)在大部分項目使用的AFNetworking應該是3.0以上版本捍歪,源碼分析基本上都是都是3.0的文章介紹户辱,關(guān)于...
    FlyElephant閱讀 588評論 0 1
  • IOS常用代碼總結(jié) 1、設置UILabel行間距 NSMutableAttributedString* attrS...
    難卻卻閱讀 546評論 0 0