最简单的使用UIlabel支持Emoji表情

最简单的使用UIlabel支持Emoji表情

应用场景:很多时候我们的app需要支持表情和文字混排发布消息或者评论等,这是我们如果不做任何操作,就可能会遇到及时能够发送成功,但是服务器无法写入数据库,导致能发送不能展示的问题(服务端自己解决除外),下面是简单的两个方法(方法建议写到类扩展里)在前端解决此类问题.

上传时编码

/**编码*/
+(NSString *)encodeing:(NSString *)string {
    //encodeing
    NSData *plainData = [string dataUsingEncoding:NSUTF8StringEncoding];
    
    return [plainData base64EncodedStringWithOptions:0];
}

获取数据后解码

/**解码*/
+(NSString *)unEncodeing:(NSString *)string {
    //解码
    NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:string options:0];
    
    return [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
}

发送时伪代码调用事例

NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"text"] = [NSString encodeing:self.textView.text];
    [HttpTool post:commentBlog parameters:params success:^(id responseObject) {

    } faliure:^(NSError *error) {

    }];

解码时伪代码调用事例

self.textLable.text = [NSString unEncodeing:@"这里是服务端返回的数据"];

你可能感兴趣的:(最简单的使用UIlabel支持Emoji表情)