在做項目的時候况既,我們一般要用到網(wǎng)絡搜索罪针,所以鏈接(也就是NSURL)總會遇到中文或是一些的的特殊字符啤它,但是對于網(wǎng)站是不允許存在這些特殊字符的普办,所以我們需要對這些特殊的字符進行UTF8編碼工扎,下面是我給NSString寫的兩個分類
-(NSString *)encodeURLParameterString {
NSString *res = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(<#CFAllocatorRef allocator#>, <#CFStringRef originalString#>, <#CFStringRef charactersToLeaveUnescaped#>, <#CFStringRef legalURLCharactersToBeEscaped#>, <#CFStringEncoding encoding#>))
第一個參數(shù):kCFAllocatorDefault
第二個參數(shù):待轉(zhuǎn)碼的字符串
第三個參數(shù):指示確定不轉(zhuǎn)義的字符
第四個參數(shù):指示確定要轉(zhuǎn)義的字符
第五個參數(shù):編碼類型
NSString *result = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef) self, NULL, CFSTR(":/=,!$&'()*+;[]@#?"), kCFStringEncodingUTF8));
return result; }
- (NSString *) decodedURLString
{
NSString *res = (NSString *)CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(<#CFAllocatorRef allocator#>, <#CFStringRef origString#>, <#CFStringRef charsToLeaveEscaped#>, <#CFStringEncoding encoding#>))
第一個參數(shù):kCFAllocatorDefault
第二個參數(shù):代轉(zhuǎn)碼的字符串
第三個參數(shù):確定不轉(zhuǎn)義的字符串
第四個參數(shù):編碼類型
*/
NSString *result = (NSString *)CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, CFSTR("")));
return result;
}