2011-08-25 4 views
0

POST 요청의 본문을 인코딩해야하지만 어느 것을 사용해야하는지 알지 못합니다. ... 가 미안 변화 '('% 28에 내가 지금까지 NSUTF8StringEncoding, NSISOLatin1StringEncoding 그래서 사용 된 NSISOLatin2StringEncoding 그 중 비 작동으로 문제가적절한 NSURL 요청 인코딩

내가 보낼 수있는 매개 변수의 이름은 다음과 같습니다

monitoring_report[monitoring_report_time(1i)]= 
로 변환 할 수 sould

:

monitoring_report%5monitoring_report_time%281i%29%5D= 

와 내가 무엇을 얻을입니다

monitoring_report%5Bmonitoring_report_time(1i)%5D= 

답변

2

legalURLCharactersToBeEscaped 매개 변수가있는 CFURLCreateStringByAddingPercentEscapes 핵심 기능을 사용하십시오. URL의 괄호는 합법적이므로 기본적으로 이스케이프 처리되지 않습니다.

예 :

NSString *input = @"monitoring_report[monitoring_report_time(1i)]="; 
NSString *output = [(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)input, NULL, CFSTR("()"), kCFStringEncodingUTF8) autorelease]; 
NSLog(@"%@", output); // monitoring_report%5Bmonitoring_report_time%281i%29%5D= 
+0

좋은! 감사 –