我们在网络传输的过程中,难免会遇到特殊字符,而这些特殊字符是无法被识别的,例如"+"会变强行替换成空格,这个时候,我们就得对他进行编码转换.
//http传输过程的数据转换
- (NSString *)httpDataStr {
NSString *outputStr = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8));
return outputStr;
}
举例:
NSString *httpStr = @"uf65/rn+";
NSLog(@"前 : %@",httpStr);
httpStr = [httpStr httpDataStr];
NSLog(@"后 : %@",httpStr);
****前**** : uf65/rn+
****后**** : uf65%2Frn%2B
网友评论