最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年10月30日 10:31:09   投稿:lqh  
這篇文章主要介紹了IOS 解決URL中文亂碼問題解決方案的相關(guān)資料,需要的朋友可以參考下

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

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

如果地址含中文的話程序會crash, 檢查發(fā)現(xiàn)原來是中文沒有轉(zhuǎn)碼的原因

在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結(jié)果如下

string1:https://www.cloudsafe.com/文件夾

string2:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9
string3:https://www.cloudsafe.com/%25E6%2596%2587%25E4%25BB%25B6%25E5%25A4%25B9

string4:https://www.cloudsafe.com/文件夾
string5:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9

string6:https://www.cloudsafe.com/文件夾
string7:https://www.cloudsafe.com/文件夾

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

在合成URL后, 給整個String轉(zhuǎn)碼兩次

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];

服務(wù)器端如何只是簡單存儲, 服務(wù)器接收數(shù)據(jù)后可以不用轉(zhuǎn)碼成中文

當(dāng)客戶端請求這部分?jǐn)?shù)據(jù)時, 由客戶端自己解碼就好了

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

 str = [str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

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

相關(guān)文章

最新評論

绵竹市| 双桥区| 定襄县| 天全县| 乌拉特后旗| 冀州市| 琼结县| 福泉市| 泸水县| 临武县| 金乡县| 哈巴河县| 高尔夫| 涿鹿县| 兴海县| 喀喇| 平遥县| 怀柔区| 庄河市| 张北县| 咸阳市| 宣恩县| 电白县| 二连浩特市| 青州市| 盖州市| 南平市| 霞浦县| 南汇区| 金山区| 莲花县| 东台市| 子长县| 新乡县| 桓台县| 罗城| 读书| 蕉岭县| 临沧市| 宜宾市| 通辽市|