10
A
回答
27
您可以使用stringByAddingPercentEscapesUsingEncoding:
NSString* escapedUrlString =
[unescapedString stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding];
但是,以我的經驗,這種方法還不太完善(在處理某些保留字符),而且在許多情況下,我需要使用變體:
NSString * escapedUrlString =
(NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)unescapedString,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
+3
+1,但是提醒你'CFURLCreateStringByAddingPercentEscapes'返回一個帶有+1保留計數的字符串,所以你必須在你完成時釋放它。 – 2009-11-17 15:12:49
+0
你救了我一天@notnoop – 2015-07-29 06:32:28
6
stringByAddingPercentEscapesUsingEncoding:有一定problems with URL arguments。
結合我使用gtm_stringByEscapingForURLArgument從Google Toolbox for Mac URL參數。
3
這爲我工作:
NSString *response = [NSString stringWithContentsOfURL:[NSURL URLWithString:[url stringByAddingPercentEscapesUsingEncoding:STRING_ENCODING_IN_THE_SERVER]]
encoding:STRING_ENCODING_IN_THE_SERVER
error:&error];
相關問題
- 1. NSURL與編碼
- 2. NSURL - 編碼「和」用空格
- 3. NSURL總是爲零編碼
- 4. 如何在Linux上編譯objc代碼?
- 5. 阿拉伯語UTF編碼爲百分號編碼在NSURL
- 6. 使與編碼加(%2B)的NSURL
- 7. 正確的NSURL請求編碼
- 8. 使用yajl-objc編碼自定義類
- 9. 在Objc * .m文件中編寫Swift 2.0代碼
- 10. 如何在NSURL中對銳利標誌進行編碼
- 11. Objc:請用一個String一個NSURL不符合RFC 2396
- 12. ObjC Cocos2D中的條件編譯
- 13. 讀取ZXing中的反轉條碼(ObjC)
- 14. 在NSURL中替換
- 15. 讓objc點語法編譯
- 16. 無法從NSURL分配的UIImage因爲字符串編碼
- 17. NSURL withString添加亂碼
- 18. ARC/ObjC++:C++的ObjC容器
- 19. 如何在Swift中解碼NSURL中的特殊字符?
- 20. 在Objc中定義的枚舉>在Swift中聲明>在Objc中使用
- 21. Sudzc ObjC代碼與ARC中斷
- 22. 在objc中解碼字符串,如在Java中
- 23. 當需要-ObjC時編譯時不使用-ObjC
- 24. URL,NSURL - 來自標準樣本的代碼中的編譯器錯誤
- 25. Objc代碼找不到在Swift中定義的Bool變量
- 26. NSURL編碼使用iso-8859-1而不是UTF8
- 27. ObjC方法類型編碼字符串中的數字是什麼?
- 28. 如何編碼文件NSURL指向名稱中帶有'/'的文件
- 29. Objc:從plist中
- 30. NSNull isEqualToString:在ObjC
現在更容易與iOS 7:http://stackoverflow.com/questions/3423545/objective-c-iphone-percent-encode-a-string/20271177 #20271177 – 2015-11-04 16:58:24