Répondre
Vous pouvez utiliser stringByAddingPercentEscapesUsingEncoding:
NSString* escapedUrlString =
[unescapedString stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding];
Cependant, dans mon expérience, cette méthode est pas tout à fait parfaite (dans le traitement de certains caractères réservés), et dans de nombreux cas, je devais utiliser la variante:
NSString * escapedUrlString =
(NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)unescapedString,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
+1, mais avec un rappel que 'CFURLCreateStringByAddingPercentEscapes' renvoie une chaîne avec un nombre de retenue de +1, vous devez donc la 'libérer' lorsque vous avez terminé. –
Vous avez sauvé ma journée @notnoop –
stringByAddingPercentEscapesUsingEncoding: a un certain problems with URL arguments.
En conjonction, j'utilise gtm_stringByEscapingForURLArgument de Google Toolbox for Mac pour les arguments d'URL.
Cela a fonctionné pour moi:
NSString *response = [NSString stringWithContentsOfURL:[NSURL URLWithString:[url stringByAddingPercentEscapesUsingEncoding:STRING_ENCODING_IN_THE_SERVER]]
encoding:STRING_ENCODING_IN_THE_SERVER
error:&error];
- 1. Encodage de classes personnalisées à l'aide de yajl-objc
- 2. Callbacks dans ObjC + Cocoa
- 3. Méthodes privées dans ObjC++
- 4. long int dans ObjC
- 5. méthodes d'appel dans ObjC
- 6. NSURL analogique à CFURLCreateCopyAppendingPathComponent?
- 7. Détecter les modifications dans NSArray dans ObjC
- 8. Encodage d'URL dans MVC
- 9. encodage url dans web.config
- 10. ObjC: obligatoire à optionnel
- 11. NSURL Hors champ
- 12. NSURL instancient pas correctement
- 13. NSURL Error Handling
- 14. NSURL de NSURLConnection?
- 15. NSURL → NSImage → NSImageView
- 16. Arguments variables dans une fonction iPhone ObjC
- 17. Gestion de la mémoire dans ObjC/iPhone
- 18. Requête de signet NSURL
- 19. NSURLConnection ou NSurl?
- 20. Une chaîne d'URL valide comme NSUrl devient null
- 21. Encodage RedirectToAction
- 22. Encodage des octets dans Python3
- 23. encodage hébreu dans SQL Server2005
- 24. Hébreu "Encodage d'URL" dans R?
- 25. Encodage dans linq/entity framework
- 26. encodage chaîne détecter dans php4
- 27. ObjC Bouton relâché Retouche Extérieur
- 28. déclaration/allocation NSURL montrant erreur
- 29. libsox encodage
- 30. objc [989] objc_exception_throw a échoué
Il est plus facile maintenant avec iOS 7: http://stackoverflow.com/questions/3423545/objective-c-iphone-percent-encode-a-string/20271177 # 20271177 –