Ich arbeite an einer iPhone App, die hochgestellte und tiefgestellte Zeichen anzeigen muss. Ich benutze einen Picker, um Daten von einem Plist einzulesen, aber die Unicode-Werte werden nicht korrekt im Pickerview angezeigt. Tief- und Hochstellungen werden nicht erkannt. Ich gehe davon aus, dass dies auf die Codierung der PLIST als utf-8 zurückzuführen ist, also ist die Frage, wie konvertiert man eine PLIST-String-Codierung von UTF-8 zu UTF-16?Einen plist utf-8 Wert als utf-16 lesen
Nur ein wenig mehr Ausarbeitung:
Wenn ich dies tun zeigt es richtig zumindest in einem Textfeld:
NSString * Gleichung = @ "x \ u00B2 + y \ u00B2 = z \ u00B2"
Wenn ich jedoch die gleiche Zeichenfolge in einer PLIST-Datei definiere und versuche, sie einzulesen und einer Zeichenfolge zuzuordnen und sie in einer Auswahlansicht anzuzeigen, wird nur die Codierung und nicht die hochgestellten Zeichen angezeigt.
@Matt: Vielen Dank für Ihren Vorschlag der Unicode wird gemieden, das ist \ u00B2 => \ u00B2. Das Suchen nach "maskierten Werten in plists" ergab keine nützlichen Ergebnisse, und ich konnte die Tastatur cmd-ctrl-shift- + nicht verwenden, um zu arbeiten. Alle weiteren Vorschläge würden sehr geschätzt werden !!
UTF-8 kann alles kodieren, die UTF-16 kodieren, können , die Größen können einfach anders sein. Sind Sie sicher, dass der PLIST tatsächlich utf-8 kodiert ist? –
Wie wurde die PLIST-Datei erstellt?Wenn nicht schon geschehen, würde ich empfehlen, die fehlerhaften Einträge in der Property List Editor App unter/Developer/Applications/Utilities zu bearbeiten, um sicherzustellen, dass sie als korrekte Werte eingegeben werden. Mit anderen Worten: Geben Sie sie tatsächlich ein, versuchen Sie nicht, spezielle Unicode-Escape-Zeichen wie \ u2026 einzugeben, sondern drücken Sie Option-; um den ... Charakter usw. zu bekommen. –
Zu Jasons Kommentar: meinst du, dass Subskribierung in utf-8 funktionieren sollte? – ennuikiller