我想通过http发送一些数据从我的应用程序发送到服务器。除&
。
NSUTF8StringEncoding
。我还尝试使用URLEncoding更改&
,即&
- > %26
。服务器可以接收它,但无法显示它。它显示在%26
,而不是&
。
但是,如果服务器是由android或web端发送的,服务器可以正常接收和显示。
代码如下:
NSMutableURLRequest *postRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"xxx.com/server.php"]];
postRequest.HTTPMethod = @"POST";
[postRequest setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
NSString *bodyString = [NSString stringWithFormat:@"data=&&&&"];
postBody = [bodyString dataUsingEncoding:NSUTF8StringEncoding];
NSURLConnection *postConnect = [[NSURLConnection alloc]initWithRequest:postRequest delegate:self];
答案 0 :(得分:0)
希望这可以帮助你
NSString *encodedString = [myString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
它不会替换你的字符串内联;它会返回一个新字符串。这个方法以“" string"”开头的事实暗示了这一点。它是一种基于当前NSString实例化NSString新实例的便捷方法。
注意 - 新字符串将自动发布,所以当您完成后,请不要在其上发布电子邮件。
答案 1 :(得分:0)
应该是功能
(NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)url, NULL, (CFStringRef)@"&", kCFStringEncodingUTF8))