App 里面做了聊天 和 动态评论 功能. 所以用到了Emoji表情编码/解码.
不处理的话 肯定会出现乱码.
表情编码一般是使用unicode编码 ,编码之后的格式( \ud83d\ude18\ud83d\ude18world\u4e16\u754chaha\ud83d\ude17)
大体思路: (第一种 :转成utf8 上传到服务器 然后请求回来的数据解析就好了. 第二种:服务器处理,我们不需要处理的.)
1. 转码 (发送给服务器前的处理)
NSString *jay = [NSString stringWithUTF8String:[ThinkWin.text UTF8String]];
NSData *newData = [jay dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *emoji = [[NSString alloc] initWithData:newData encoding:NSUTF8StringEncoding] ;
2.解码(接收到的是乱码,需要你做处理的)
const char *jay = [jsonString UTF8String]; // jsonString 服务器返回的 json
NSData *newData = [NSData dataWithBytes:jsonString length:strlen(jay)];
NSString *emoji = [[NSString alloc] initWithData:newData encoding:NSNonLossyASCIIStringEncoding];
网友评论