Pregunta

Tengo esta línea de código para convertir NSString a NSData:

NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];

¿Cómo puedo hacer esto en lugar de Unicode UTF-8? Mi mensaje puede contener caracteres cirílicos o signos diacríticos.

¿Fue útil?

Solución

En primer lugar, se debe utilizar dataUsingEncoding: lugar de pasar por UTF8String. Sólo se utiliza cuando se necesita UTF8String una cadena C en el que codifica.

A continuación, para “Unicode” (en concreto, UTF-16), sólo tiene que pasar NSUnicodeStringEncoding en lugar de NSUTF8StringEncoding en su mensaje dataUsingEncoding:.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top