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.
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
est ce que vous voulez. fondamentalement utilisez-le comme suit:
newString = [myString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
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"];
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: ₹
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 ).