在最近的开发过程中,遇到了一个新的问题,就是需要在格式化后的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转换成正常的字符串。
总结:
无非是上面的两个方法外加一定的编码格式而已。