problème dans l'enencoding d'une string avec un pourcentage d'iphone d'échappement

C'est ma string.

NSSsortingng *str=@"A & B"; 

maintenant je le convertis en NSUTF8SsortingngEncoding.

 str = [str ssortingngByAddingPercentEscapesUsingEncoding:NSUTF8SsortingngEncoding]; NSLog(@"str: %@", str); 

l'espace est remplacé par% 20 mais & n'est pas remplacé par% 26.

show nslog

 str: A%20&%20B 

Cela ne fonctionne pas non plus

 NSSsortingng *str=@"(A) & (B)"; str = [str ssortingngByAddingPercentEscapesUsingEncoding:NSUTF8SsortingngEncoding]; NSLog(@"str: %@", str); 

show nslog

 str: (A)%20&%20(B) 

J'ai besoin de cela parce que je dois passer cela en tant que valeur de paramètre dans webservice. Quelqu'un a une idée pour ça. S'il vous plaît aidez-moi pour ce problème. Une belle réponse sera appréciée

Vous pouvez utiliser CFURLCreateSsortingngByAddingPercentEscapes() pour cela:

 NSSsortingng *ssortingng = ...; NSSsortingng *encodedSsortingng = CFBridgingRelease(CFURLCreateSsortingngByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFSsortingngRef)ssortingng, NULL, CFSTR("!*'();:@&=+$,/?%#[]"), kCFSsortingngEncodingUTF8));