在Objective-C中逃避行情

Moe*_*Moe 8 encoding escaping objective-c nsstring ios

我正在使用此代码段将字符编码为对POST请求友好:

   NSString *unescaped = [textField text];
   NSString *escapedString = (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(
                                                                                  NULL,
                                                                                  (__bridge_retained CFStringRef)unescaped,
                                                                                  NULL,
                                                                                  (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                                                                  kCFStringEncodingUTF8);
Run Code Online (Sandbox Code Playgroud)

哪个效果很好,但不添加转义引号: "

如何逃避IOS中的引号?

Moe*_*Moe 15

我想我没有正确地说出这个问题.

我需要从用户输入NSString,[textField text]并确保如果字符串中有引号,它们将被正确转义,以便通过POST语句发送.

我的解决方案是:

unescaped = [unescaped stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
Run Code Online (Sandbox Code Playgroud)

谢谢

  • 为什么不使用NSRegularExpression的“ escapedPatternForString:”类方法? (2认同)