Estoy tratando de leer cadenas de una matriz que proviene de un plist e imprimir esas cadenas.Conversión de caracteres UTF8 escapados a su forma original
Las cadenas en la matriz contienen caracteres UTF8 escapados; por ejemplo, "Nuša Florjančič" pasa a "Nu\u0161a Florjan\u010di\u010d"
cuando se lee desde la lista. No hay forma de cambiar el contenido del plist, pero mi programa necesita mostrar los nombres correctamente.
Lo extraño es que Objective-C parece hacer esto automáticamente cuando estoy hardcoding la cadena. Sin embargo, si obtengo la cadena del plist, no pasa nada.
Para dar un ejemplo, aquí hay un código:
NSString *name1 = @"Nu\u0161a Florjan\u010di\u010d";
NSString *name2 = [list objectAtIndex:0];
NSLog(@"name 1: %@", name1);
NSLog(@"name 2: %@", name2);
[list objectAtIndex:0]
contiene @"Nu\u0161a Florjan\u010di\u010d"
- la única diferencia es que se ha establecido a través del editor plist.
La salida de la consola es:
2011-10-22 18:00:02.595 Test[13410:11c03] name 1: Nuša Florjančič
2011-10-22 18:00:02.595 Test[13410:11c03] name 2: Nu\u0161a Florjan\u010di\u010d
He intentado todo tipo de cosas, incluyendo la transformación de la cadena en una cadena tipo C y luego la creación de un objeto NSString
con una codificación UTF-8, pero nada funcionó en todas.
Realmente apreciaría cualquier sugerencia suya que pueda ayudarme a resolver este problema aparentemente mundano.
Muchas gracias, amigo! Eso hizo el truco :) – Tobi
Gran pedazo de código. Gracias. –
@Tobi si eso funcionó, ¿por qué no puedes marcarlo como respuesta? – DroidHeaven