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 表情支持也需要服务器端支持,数据库在存储表情时需要设置对应的字符集。
网友评论