iOS NSString+emoji编码以及解码

前言

hihi,勇敢的小伙伴儿们大家好,金秋九月,不知不觉已进入秋季,晚上天黑的越来越早,夜也变得越来越长,听我在北京的同学说晚上下班一出门冻得打哆嗦,哈哈,秋天真的来了~

我最喜欢的季节是春天,因为春天生机勃勃,万象更新,春暖花开,最重要的是不冷也不热。我最不喜欢的季节是夏天,热的不能出门,尤其是我这种爱出汗星人,而且还要开空调,对环境有一定的影响,不利于环保(一本正经)。秋天和冬天我都蛮喜欢的,秋天跟夏天形成了强烈的对比,在秋风中吹走夏天的燥热,是件多美好的事情啊。冬天是个梦幻的季节,漫天的雪花,在寒风中瑟瑟发抖,小脸冻得通红,可是还是喜欢出门赏雪;围着暖炉,看着窗外雪白的世界,是否有一种宁静致远的感觉?在床上裹紧被子,和被子紧紧相拥,感受从被窝里传递给自己的温暖,这feel倍爽~emmm,期待冬天的到来~每个人都有不同的喜好,你呢?你喜欢哪个季节呢?

说到这,突然想起马上要中秋节和国庆节了,一年中又一个团圆的日子,你们怎么安排了自己的假期呢?想起了些许往事,絮絮叨叨就到这儿吧,如果我中秋节之前没更博客就在这篇提前祝大家假期愉快~

最近有点忙,都没时间更新博客了,今天给大家分享的是emoji表情的编码和解码~

话不多说,上代码!

正文

在传统的UILabel上我们可以显示emoji表情,

但是当把emoji上传到服务器上的时候,就不显示了,这就令我这种表情包大佬十分难受了,所以我们如何解决这个问题呢?

就是编码啦,emoji表情是有自己的代码。

我们通过将含有表情的字符串用UTF-8编码得到的字符串解码出来显示在Label上就可以啦~

 

具体操作给NSString添加一个类目emoji

NSString + emoji.h

#import <Foundation/Foundation.h>

@interface NSString (emoji)

- (NSString *)emojiEncode;
- (NSString *)emojiDecode;

@end

 

NSString + emoji.m

#import "NSString+emoji.h"

@implementation NSString (emoji)

//编码
- (NSString *)emojiEncode{
    NSString *uniStr = [NSString stringWithUTF8String:[self UTF8String]];
    NSData *uniData = [uniStr dataUsingEncoding:NSNonLossyASCIIStringEncoding];
    NSString *emojiText = [[NSString alloc] initWithData:uniData encoding:NSUTF8StringEncoding];
    return emojiText;
}

//解码
- (NSString *)emojiDecode{
    const char *jsonString = [self UTF8String];
    NSData *jsonData = [NSData dataWithBytes:jsonString length:strlen(jsonString)];
    NSString *emojiText = [[NSString alloc] initWithData:jsonData encoding:NSNonLossyASCIIStringEncoding];
    return emojiText;
}

@end

使用方式就不赘述啦~

给大家看一下效果:

 

自己写了个小Demoemoji编码解码很简单,如果需要的话可以下载使用(希望你们不需要吧哈哈哈,实在太简单了有点不好意思拿出来)~

如果有问题,麻烦大家给我指出,多谢各位啦~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值