Conversion des caractères UTF8 échappés en leur forme originale

Je suis en train de lire des chaînes de caractères à partir d'un tableau qui est à venir à partir d'un fichier plist et imprimer ces chaînes.

Les chaînes dans le tableau contient échappé caractères UTF8 - par exemple "Nuša Florjančič" devient "Nu\u0161a Florjan\u010di\u010d" lors de la lecture de la plist. Il n'y a aucun moyen de modifier le contenu de ce fichier plist, mais mon programme doit afficher les noms correctement.

La chose étrange est que Objective-C semble faire cela automatiquement quand je suis coder en dur la chaîne. Cependant, si je reçois la chaîne à partir de la plist il ne se passe rien du tout.

Pour vous donner un exemple, voici un code:

NSString *name1 = @"Nu\u0161a Florjan\u010di\u010d";
NSString *name2 = [list objectAtIndex:0];       
NSLog(@"name 1: %@", name1);
NSLog(@"name 2: %@", name2);

[list objectAtIndex:0] contient @"Nu\u0161a Florjan\u010di\u010d" - la seule différence, c'est qu'il a été défini par le plist editor.

La sortie de la console est:

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

J'ai essayé toutes sortes de choses, y compris la transformation de la chaîne dans un C-string, puis la création d'un NSString objet avec un encodage UTF-8 mais rien n'a fonctionné.

J'avais vraiment apprécier tous les conseils de votre part qui pourrait m'aider à résoudre ce banales problème.

source d'informationauteur Tobi | 2011-10-22