string编码 – Swift

我正在使用下面的方法来编码一个string在目标 – C:

+(NSString*)urlEncoded:(NSString*)string { return ((NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes (NULL,(CFStringRef)string, NULL,(CFStringRef)@"! '=();@&+$%#",kCFStringEncodingUTF8 )));} 

Swift 2.0中有这个方法吗? 我尝试过使用堆栈中的很多解决scheme,但是没有一个可以解决我的问题。

你可能想要使用带有NSCharacterSet的URL组件特定字符集的NSCharacterSet

 let title = "NSURL / NSURLComponents" let escapedTitle = title.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()) 

这些字符集背后的想法是,他们可能比他们描述的任何有限集更正确。 也就是说,您可以使用与您自己生成的集合相同的方法:

 let escapeSet = NSCharacterSet(charactersInString: "! '=();@&+$%#") let string = "sdfT&*w5e#sto([+peW7)%y9pqf])" let escapedString = string.stringByAddingPercentEncodingWithAllowedCharacters(escapeSet.invertedSet) // "sdfT%26*w5e%23sto%28[%2BpeW7%29%25y9pqf]%29"