Je travaille sur une application iphone qui doit afficher des exposants et des indices. J'utilise un sélecteur pour lire les données d'une plist mais les valeurs Unicode ne sont pas affichées correctement dans la sélection. Les indices et les indices supérieurs ne sont pas reconnus. Je suppose que cela est dû à l'encodage de la plist comme utf-8, alors la question est de savoir comment convertir une chaîne de plist encodage de utf-8 à utf-16?Lecture d'une valeur de plf utf-8 en tant que utf-16
Juste un peu plus approfondi:
Si je fais cela, il affiche correctement au moins dans un champ de texte:
NSString * équation = @ "x \ u00B2 + y \ u00B2 = z \ u00B2"
Cependant, si je définis la même chaîne dans un plist et que j'essaie de la lire et de l'assigner à une chaîne et de l'afficher dans une sélection, elle affiche simplement le codage et non les exposants.
@Matt: merci pour votre suggestion l'unicode est échappé c'est \ u00b2 => \ u00B2. La recherche de "valeurs d'échappement dans les plistes" n'a pas donné de résultat utile, et je n'ai pas pu utiliser le clavier cmd-ctrl-shift- + pour travailler. Toute suggestion supplémentaire serait grandement appréciée!
UTF-8 peut coder tout ce UTF-16 peut coder , les tailles peuvent être différentes. Êtes-vous sûr que le plist est réellement encodé en utf-8? –
Comment le fichier plist a-t-il été créé?Si ce n'est pas déjà fait, je vous recommande de modifier les entrées incriminées dans l'application Property List Editor dans/Developer/Applications/Utilities pour vous assurer qu'elles sont correctes. En d'autres termes, tapez-les, n'essayez pas de taper les caractères spéciaux d'échappement Unicode comme \ u2026 là-dedans, à la place vous devriez appuyer sur Option-; pour obtenir le ... caractère, etc. –
Pour le commentaire de Jason: voulez-vous dire que l'indice devrait fonctionner dans utf-8? – ennuikiller