iOS - stringByRemovingPercentEncoding为单/双引号返回nil

时间:2018-06-05 16:26:40

标签: ios uiwebview nsstring nsdata urlencode

我有一个来自UIWebView委托(shouldStartLoadRequest)的URLRequest,我将其转换为NSData对象。之后我将它转换为NSString,你有这样的东西:

  

测试%22%3A%22Whats +上%+去22%7D%7D%2C%7B%22

但当然现在我需要摆脱所有这些百分比序列。我的问题似乎是,如果我处理单引号(%92)或双引号(%94),方法stringByRemovingPercentEncoding返回nil。对于像$,^和&这样的其他特殊字符,情况似乎并非如此。 ,(,),*,#。

以下是示例代码:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{

NSData *data = request.HTTPBody;
NSString* myString=[[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];


myString = [[myString stringByReplacingOccurrencesOfString:@"+" withString:@" "]stringByRemovingPercentEncoding];

}

那么单引号和双引号会发生什么?我该怎么做才能阻止这个方法返回nil ??

1 个答案:

答案 0 :(得分:0)

我将此标记为已解决。请看一下这些参考文献:

https://forums.developer.apple.com/thread/89706
https://discussions.apple.com/thread/8082282