sistema poner para los emojis descargar como cambiar objective-c ios5 emoji nsstringencoding

objective c - poner - iOS 5: ¿Cómo convertir un Emoji a un personaje Unicode?



emojis ios 11 descargar (6)

Quiero convertir un Emoji a un personaje Unicode en iOS 5.

Por ejemplo, convirtiendo a /ue415 .

Fui a NSStringEncoding en NSString Class Reference .

En iOS 4, NSUTF16BigEndianStringEncoding y NSUTF32BigEndianStringEncoding me dieron <e415> y <0000e415> , respectivamente, que están bastante cerca de lo que quiero.

En iOS 5, los resultados son diferentes. Da <d83dde04> y <0001f604> .

¿Cómo puedo obtener /ue415 para en iOS 5? Gracias.


Convertir de nuevo a: -

NSData *newdata=[recievedstring dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; NSString *mystring=[[NSString alloc] initWithData:newdata encoding:NSNonLossyASCIIStringEncoding];


Emoji de venta en UILabel:

NSString *bellEmojiString = @"U+1F514"; label.text = [NSSting stringWithFormat:@"Table: %@", @"/U0001F514"];

debe tener cuidado reemplazar + con 3 dígitos zero


Por favor intente esto:

  1. Convertir Emoji a Unicode

    NSData *data = [strEmo dataUsingEncoding:NSNonLossyASCIIStringEncoding]; NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

  2. Muy fácil de convertir Unicode a Emoji.

    NSData *data = [strEmo dataUsingEncoding:NSUTF8StringEncoding]; NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];


Si su emoji no realiza un viaje de ida y vuelta (de ios a un servidor backend y de vuelta a ios), entonces no debería tener ningún problema. ios (al menos 4.2+) maneja la codificación correctamente y no tiene que hacerlo. cualquier cosa. pero si su aplicación interactúa con un servidor, ¿sospecha que el valor de retorno de su servidor es incorrecto? es decir, json codificado mal.

Tuve el mismo problema, después de cavar durante horas y finalmente encontré esta respuesta que me funciona: https://.com/a/8339255/1090945

Si está utilizando rieles como su servidor, esto es todo lo que necesita hacer. No hay necesidad de hacer nada en ios / xcode, simplemente pase el NSString sin hacer ningún tipo de codificación UTF8 / 16 al servidor.

Postegre almacena el código correctamente, es justo cuando envía la respuesta json a su cliente ios, asumiendo que sí procesa json: @message, la codificación json tiene un problema.

puede probar si está teniendo un problema de codificación json en su consola de rieles haciendo una prueba simple en su consola

test = {"smiley"=>"u{1f604}"}

test.to_json

si se imprime "{/" smiley / ": /" / uf604 / "}" (note que se perdió el 1), entonces tiene este problema. y el parche desde el enlace lo arreglará.



/ue415 es parte de la codificación heredada para emoji y es específica de ciertos operadores japoneses. SoftBank, NTT y docomo tenían sus propios juegos de caracteres emoji privados.

iOS 5 se ha movido al soporte Unicode 6.0 recién especificado para los planos de caracteres emoji y <0001f604> es el punto de código Unicode para ese personaje. La entrada de wikipedia sobre esto hace referencia a un archivo de mapeo EmojiSources.txt que deberá usar para hacer el mapeo usted mismo si realmente necesita obtener los antiguos códigos de caracteres de uso privado.

http://en.wikipedia.org/wiki/Emoji