iOS Http传输过程中对特殊字符的处理

在进行http传输的过程,如果有特殊的符合,例如“+,&。*”,不会进行处理,都直接替换掉了。

原因:默认的系统不会对这些特殊符号进行转义,只会进行替换

解决办法:在post之前对这些特殊符号做一次UTF8就可以解决这个问题了
代码如下:

NSString *str = @"打电话给&rp=张三";
    NSString *bStr = (__bridge NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                                                 (CFStringRef)str,
                                                                                 NULL,
                                                                                 CFSTR(":/?#[]@!$&’()*+,;="),
                                                                                 kCFStringEncodingUTF8);

你可能感兴趣的:(iOS开发问题汇总)