2011-03-14 22 views
9

Estoy trabajando en una aplicación matemática y necesito enviar exponentes a la pantalla.Caracteres Unicode en cadena - iphone

he encontrado que este código funcionará:

NSLog(@"x\u2070 x\u00B9 x\u00B2 x\u00B3 x\u2074 x\u2075 x\u2076 x\u2077 x\u2078 x\u2079"); 

muestra: x⁰ $ ¹ $ X $ ⁴ $ X $ ⁵ $ x² X³ X $ ⁶ $ X $ ⁷ $ X $ ⁸ $ X $ ⁹ $

Esto también funciona:

NSString *testString = @"8.33x10\u00B3"; 
NSLog(@"test string: %@", testString); 

se pantallas: cadena de prueba: 8.33x10³

Incluso la configuración de una etiqueta se muestra correctamente en el iP perfeccionar la pantalla:

NSString *testString = @"8.33x10\u00B3"; 
Answer1Label.text = testString; 

Sin embargo, cuando me tire de la cuerda de un .Plist que dice "8.33x10 \ u00B3" y mostrarlo en la pantalla, sólo se muestra como "8.33x10 \ u00B3" en lugar de 8,33 x10³

¿Hay algún carácter adicional que deba poner delante del \ u00B3 para que lo reconozca?

Gracias por su ayuda!

Respuesta

20

El \ uXXXX se convierte en Unicode en tiempo de compilación, por lo que no esperaría que se convirtiera mágicamente leyendo un .plist.

Intente abrir el archivo en Xcode en "modo de texto" (haga clic con el botón secundario en su archivo, Abrir como -> Planificar archivo de texto) y edite la cadena deseada para contener los caracteres especiales usando el texto del formulario:

⁰ 

en lugar de la habitual \u2070 que ha estado usando en el código. Luego, si guarda su plist, ciérrela y ábrala de nuevo haciendo doble clic, verá la habitual vista plist editor y contendrá sus caracteres especiales.

Como alternativa, considere usar el visor de caracteres de OS X (también conocido como paleta de caracteres) para ingresar el texto directamente en el editor de plist en XCode. More info.

+0

Agradezco su respuesta y eso tiene sentido en cuanto a por qué no está funcionando. Lamentablemente, no entiendo XML lo suficientemente bien como para saber cómo utilizar su consejo para que funcione. Para que funcione ahora, he codificado las preguntas particulares que requerían exponentes dentro del código. – RanLearns

+0

@ObjectiveFlash He aclarado mi respuesta con más información. – occulus

+0

@occulus muchas gracias por el truco para escribir unicode de esta manera en archivos plist! – buk

Cuestiones relacionadas