2012-08-02 41 views
9

Recibo un nsstring que no está codificado correctamente como "mystring% 201", donde debe estar "mystring 1". ¿Cómo podría reemplazar todos los caracteres que podrían interpretarse como UTF8? Leí mucho puestos, pero no es una solución completa Tenga en cuenta que NSString ya está codificado mal y no estoy preguntando sobre cómo codificar la secuencia de carbón Graciasios Codificación UTF8 de nsstring

+0

¿Preguntas sobre la codificación URI? http://en.wikipedia.org/wiki/Percent-encoding – jcopenha

+0

sí, codificación URI – Jaume

Respuesta

33

- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding es lo que quieras. Básicamente utilízalo así:

newString = [myString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
2

Comprobar la sección Strings and Non-ASCII Characters de Formatting String Objects:...

NSString *s = [NSString stringWithUTF8String:"Long \xe2\x80\x94 dash"]; 
1

¿Desea solo un porcentaje de codificación/decodificación o una codificación/decodificación completa de URL? - (NSString *) stringByReplacingPercentEscapesUsingEncoding: funcionará si solo es un porcentaje de codificación, pero si hay una codificación URL completa allí (entonces, por ejemplo, un espacio podría ser% 20 o +) entonces necesitarás algo como la descodificación url en la biblioteca three20 (o busque en allí, hay muchos ejemplos de cómo hacerlo, como URL decoding/encoding NSString).

6
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 
2
lblDate.text=[NSString stringWithCString:[[arrTripDetail valueForKey:Param_vCurrencySymbol] UTF8String] encoding:NSUTF8StringEncoding]; 

U puede obtener Convertir & Emoji personalizada a cadena

por ejemplo:

de entrada: \ U20b9

Salida: ₹

+0

No publique respuestas idénticas a varias preguntas. Publique una buena respuesta, luego vote/marque para cerrar las otras preguntas como duplicados. Si la pregunta no es un duplicado, * adapte sus respuestas a la pregunta. * – durron597

Cuestiones relacionadas