iOS开发-post请求和Unicode转码

来源:互联网 发布:淘宝卖家店铺推广 编辑:程序博客网 时间:2024/05/22 01:57

今天开发遇到怪事,afn的请求总是被默认成Unicode编码,为了解决问题直接从最基本的请求和数据类型开始。

post请求,系统自带的

method可以为nil,但是data必须是json串转化来的

- (void)sendRequestToUrl:(NSString*)urlString method:(NSString*)method data:(NSData*)data completionHandler:(void (^)(NSData *data,NSURLResponse *response, NSError *error))completionHandler{    NSURLSessionConfiguration * urlSessionConfiguration = [NSURLSessionConfigurationdefaultSessionConfiguration];    NSURLSession * urlSession = [NSURLSessionsessionWithConfiguration:urlSessionConfiguration];    NSURL *url = [NSURLURLWithString:urlString];    NSMutableURLRequest *request = [NSMutableURLRequestrequestWithURL:url];    request.HTTPMethod =@"POST";    request.HTTPBody = data;    NSURLSessionDataTask * urlSessionDataTask = [urlSessiondataTaskWithRequest:requestcompletionHandler:completionHandler];    [urlSessionDataTaskresume];}

返回的信息需要转码就直接使用

 unicode转化

- (NSString *)replaceUnicode:(NSString *)unicodeStr{    NSString *tempStr1 = [unicodeStrstringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];    NSString *tempStr2 = [tempStr1stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];    NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""];    NSData *tempData = [tempStr3dataUsingEncoding:NSUTF8StringEncoding];    NSString* returnStr = [NSPropertyListSerializationpropertyListFromData:tempData                                                          mutabilityOption:NSPropertyListImmutable                                                                    format:NULL                                                          errorDescription:NULL];    //    NSLog(@"%@",returnStr);    return [returnStrstringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];}



0 0
原创粉丝点击