web-dev-qa-db-fra.com

encodage ios UTF8 à partir de nsstring

Je reçois une chaîne qui n'est pas correctement codée, telle que "mystring% 201, où doit être" mystring 1. "Comment remplacer tous les caractères pouvant être interprétés comme UTF8? notez que nsstring est déjà mal encodé et je ne vous demande pas comment encoder la séquence de caractères, merci.

11
Jaume

- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding est ce que vous voulez. fondamentalement utilisez-le comme suit:

newString = [myString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
33
Jesse Naugher
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
6
Osama Khalifa

Vérifiez la section Strings and Non-ASCII Characters de Mise en forme des objets chaîne :

NSString *s = [NSString stringWithUTF8String:"Long \xe2\x80\x94   dash"];
2
A-Live
lblDate.text=[NSString stringWithCString:[[arrTripDetail valueForKey:Param_vCurrencySymbol] UTF8String] encoding:NSUTF8StringEncoding];

U peut convertir et obtenir un Emoji personnalisé en chaîne

par exemple : 

entrée:\U20b9 

Sortie: ₹

2
Mehul

Voulez-vous juste un pourcentage d'encodage/décodage ou un encodage/décodage d'URL complet? - (NSString *) stringByReplacingPercentEscapesUsingEncoding: fonctionnera s'il ne s'agit que d'un codage à pourcentage, mais s'il existe un codage URL complet (par exemple, un espace peut être% 20 ou +), vous aurez besoin de quelque chose comme le décodage URL. la bibliothèque three20 (ou recherchez-le, il y a beaucoup d'exemples sur la façon de le faire, tel que décodage d'URL/encodage NSString ).

1
Michael