iOS 表情支持

iOS如果只是评价功能需要支持表情包,用UITextView提交评论就能快速的支持表情包显示。


image.png

移动端给服务器提交中文信息之前会对中文进行Unicode编码,表情包提交之前也需要进行编码。

/**
  对含有表情的字符串进行编码,方便上传给服务端

 @param emojStr 含有表情的字符串.
 */
+ (NSString *)encodeEmoj:(NSString *)emojStr
{
    NSString *inputText = [emojStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    return inputText;
}

服务器返回来带表情包的字符串也需要转码之后再显示。

/**
 解码服务器返回的含有表情的字符串,方便移动端显示
 
 @param serviceStr 服务器返回的字符串
 */
+ (NSString *)decodeEmoj:(NSString *)serviceStr
{
    return [serviceStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}

转码进行之前最好对emojStr和serviceStr进行下非空判断,代码上传到GitHub

P.S 表情支持也需要服务器端支持,数据库在存储表情时需要设置对应的字符集。