国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS URL中文亂碼問題解決方案

2019-10-21 18:51:11
字體:
來源:轉載
供稿:網友

IOS 解決URL中文亂碼問題解決

在做一個HTTPS連接時, 要客戶端合成一段HTTPS地址

如果地址含中文的話程序會crash, 檢查發現原來是中文沒有轉碼的原因

在NSString庫里面找到了下面兩個方法

- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

試了下, 有效

NSString* string1 = @"https://www.cloudsafe.com/文件夾";NSString* string2 = [string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSString* string3 = [string2 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSString* string4 = [string2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSString* string5 = [string3 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSString* string6 = [string4 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSString* string7 = [string5 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

輸出string1-7結果如下

string1:https://www.cloudsafe.com/文件夾string2:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9string3:https://www.cloudsafe.com/%25E6%2596%2587%25E4%25BB%25B6%25E5%25A4%25B9string4:https://www.cloudsafe.com/文件夾string5:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9string6:https://www.cloudsafe.com/文件夾string7:https://www.cloudsafe.com/文件夾

簡單說下我是如何使用的:

在合成URL后, 給整個String轉碼兩次

NSMutableString *address = [[NSMutableString stringWithString:SetNiChengStringWithoutUserNameAndNiCheng] mutableCopy];  address = [[address stringByAppendingString:app.name] mutableCopy];  address = [[address stringByAppendingString:@"/"] mutableCopy];  address = [[address stringByAppendingString:_nameTextField.text] mutableCopy];  address = [[address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] mutableCopy];  address = [[address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] mutableCopy];

服務器端如何只是簡單存儲, 服務器接收數據后可以不用轉碼成中文

當客戶端請求這部分數據時, 由客戶端自己解碼就好了

獲取到字串后解碼一次就可以正常顯示為中文了:

 str = [str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁武县| 文登市| 苍溪县| 乌恰县| 珲春市| 镶黄旗| 砚山县| 稻城县| 磴口县| 瑞金市| 六安市| 吴川市| 盈江县| 应城市| 新建县| 方山县| 武清区| 清新县| 湖州市| 西吉县| 霸州市| 永丰县| 南澳县| 邻水| 石景山区| 绥滨县| 贵溪市| 阿巴嘎旗| 乌拉特后旗| 满洲里市| 汾阳市| 柳江县| 汨罗市| 姚安县| 嘉兴市| 科尔| 阳城县| 齐齐哈尔市| 香河县| 台中县| 涞源县|