jan*_*del 12 json character-encoding ios emoji
我有一个UITextView
我打电话messageField
.内的数据messageField
被POST
-ed服务器JSON格式.当用户键入表情符号字符时,我无法将数据编码到JSON
.我在想Emoji使用Unicode编码.
有没有办法将表情符号编码为JSON?从JSON回到Emoji以显示在UILabel
?
Kar*_*run 28
我使用下面的代码来编码表情符号字符
NSString *uniText = [NSString stringWithUTF8String:[textview.text UTF8String]];
NSData *msgData = [uniText dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *goodMsg = [[NSString alloc] initWithData:msgData encoding:NSUTF8StringEncoding] ;
Run Code Online (Sandbox Code Playgroud)
以下代码在UILabel中解码和显示
const char *jsonString = [body UTF8String];
NSData *jsonData = [NSData dataWithBytes:jsonString length:strlen(jsonString)];
NSString *goodMsg = [[NSString alloc] initWithData:jsonData encoding:NSNonLossyASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)
Chr*_*aas 10
编辑 - 2016-03-03 请注意,这个答案是在2011年写的,可能不再相关.
表情符号字符只是用于呈现特定unicode代码点的特定字体.iOS使用其中一个Unicode专用区域来表示特定于表情符号的代码点.将这些"字符"视为表情符号的唯一方法是使用表情符号字体,以及知道如何从默认文本字体(如Helvetica)切换到表情符号字体的机器.
我不知道你是如何对JSON进行编码的,但是因为表情符号只是文本,所以只要你以UT-8或UTF-16等Unicode友好格式传输文本就不应该有任何问题.您不会在服务器端或数据库中看到它(除非您查看具有先前先决条件的数据),但您应该能够返回相同的原始字节,它应该看起来相同.
这里有一些帖子可能会有所帮助:
归档时间: |
|
查看次数: |
31206 次 |
最近记录: |