在开发IM app过程中,用户聊天发送的表情,由于要跟android统一,所以我们统一使用emoji表情。
但是有个问题,ios用户点击表情,需要将类似“1f600”的字符串转成emoji使用的unicode编码,就要用到以下方法。
//将字符串转为emoji unicode编码
-(NSString *)convertSimpleUnicodeStr:(NSString *)inputStr{
NSString *strUrl =inputStr;
int unicodeIntValue= strtoul([strUrl UTF8String],0,16);
UTF32Char inputChar = unicodeIntValue ;// 变成utf32
inputChar = NSSwapHostIntToLittle(inputChar); // 转换成Little 如果需要
NSString *sendStr = [[NSString alloc] initWithBytes:&inputChar length:4 encoding:NSUTF32LittleEndianStringEncoding];
return sendStr;
}
这样,1f600 就会转化为微笑的emoji表情