1. 程式人生 > >IOS中關於Get請求帶中文引數問題

IOS中關於Get請求帶中文引數問題

通常後臺給我們的介面,如果是Get請求是比較少帶參的,而IOS中必須把URL中含有的中文字元轉化為UTF8編碼,String 為轉換後我們所需的URL地址。

例如:

預留引數的網址
NSString *Str = @"https://api.smartnlp.cn/cloud/answer?q=你好";
將網址轉化為UTF8編碼
NSString *String = [Str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

你會發現 stringByAddingPercentEscapesUsingEncoding 方法出現了感嘆號,那是因為iOS9.0後,該方法已經被另一個方法替代了

將網址轉化為UTF8編碼
NSString *String = [Str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]。

此方法即:stringByAddingPercentEncodingWithAllowedCharacters