Um einen String per GET zu übergeben muss er codiert werden. Dies kann folgende Funktion erledigen:
- (NSString *)urlencode:(NSString *)value {
return (NSString *)CFURLCreateStringByAddingPercentEscapes(
nil,
(CFStringRef)value,
nil,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8
);
}
In iOS5:
- (NSString *)urlencode:(NSString *)value {
NSString *strReturn = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(
nil,
(__bridge CFStringRef)value,
nil,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8
);
return strReturn;
}
Das decodieren kann man mit folgender Funktion erreichen:
- (NSString *)urldecode:(NSString *) value {
NSString *result = [(NSString *)value stringByReplacingOccurrencesOfString:@"+" withString:@" "];
result = [result stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
return result;
}