如上图灰色块所示,我对url链接进行字符串处理及转码,结果无论如何我都无法把灰色那一块去除
后来经过尝试,不是全角空格,而当去除制表符-> "\t" 成功将这一块空白处消除,如图
所以,ios正确的urlencode方法如下:
/**
url转码字符串
@param str 需要转码的字符串
@return 已完成转码的字符串
*/
-(NSString *) encodingStringOfUrl:(NSString *) str{
// 去除特殊字符
NSString * charaters = @"?!@#$^&%*+,:;='\"`<>()[]{}/\\| ";
NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:charaters] invertedSet];
// 去除空格
NSString *temp = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
// 去除回车
temp = [temp stringByReplacingOccurrencesOfString:@"\r" withString:@""];
// 去除换行
temp = [temp stringByReplacingOccurrencesOfString:@"\n" withString:@""];
// 去除制表符
temp = [temp stringByReplacingOccurrencesOfString:@"\t" withString:@""];
NSString * encodeStr = [temp stringByAddingPercentEncodingWithAllowedCharacters:set];
return encodeStr;
}