在最近的開發過程中,遇到了一個新的問題,就是需要在格式化後的url字符串和NSString之間進行轉換,從而能夠實現一些需求。
這在一開始是一個比較討厭的事情,因爲NSString和編碼後的URL之間相互並不認識。
不過好在Apple SDK爲我們提供了簡單地解決方案來解決這個事情。
一:將NSString 轉換成URL編碼
當我們想爲服務器或其他使用的地方提供使用UTF-8編碼後的URL的時候,可以使用如下API :
NSString * encodingString = [sourceURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
其中- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)enc; 就是我們需要調用的方法。該方法可以按照指定的編碼格式講NSString轉換成特定格式的NSString.
二:將使用URL格式的NSString轉換爲正常的NSString
NSString *destinationStr = [sourceURL stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
我們通過- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)enc; 方法使用一定的編碼格式講所有使用了百分比編碼的String轉換成正常的字符串。
總結:
無非是上面的兩個方法外加一定的編碼格式而已。