前言
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编码解码很简单,如果需要的话可以下载使用(希望你们不需要吧哈哈哈,实在太简单了有点不好意思拿出来)~
如果有问题,麻烦大家给我指出,多谢各位啦~