评论中发emoji表情 iOS
最近项目中有个新需求——在评论中发表情。
之前以为这个是不用做什么处理的,因为表情可以直接在UILabel上显示。然而显示并不是我所想象的这样,因为后台并不能识别客户端上传的表情符号。
iOS中的表情符号是emoji表情,需要将表情符号进行转换,后台才能识别。识别方法:
NSString * str1 = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; (iOS 9后被另一个方法替换
NSString * str1 = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"`#%^{}\"[]|\\<> "].invertedSet];
)
如果str字符串中包含表情符号,转换后的str1就能被后台所识别。此时的str1是一串字符,而没有了所谓的表情符号。如果将str1显示在UILabel上,同样是一串字符。
我们给后台上传的是Hahh%F0%9F%98%85这样的字符串,同样发回给我们的也是Hahh%F0%9F%98%85。
那么问题来了,我们要怎样识别这些表情字符,并将表情显示出来?这时就需要我们使用另一个方法,将表情符号识别并显示出来了。
方法:
NSString * str2 = [str1 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@", str2);(iOS9之后被另一个方法替换:
NSString * str2 = [str1 stringByRemovingPercentEncoding];
)
只要使用了以上两个方法我们就能实现发表emoji表情的功能了。
说实话,之前为了解决这个问题,我绕了很多弯路,网上查、群里问、找大神,最终终于是解决了。写这篇博客就是为了让大家少走弯路,将时间用在更多的技术上。
2017.4.4增加:
最近在面试的时候面试官提到了这个问题,我的回答并不是很让面试官满意。面试官说这样会有一个问题,就是iOS系统的一些emoji表情并不能被安卓那边识别,因此本篇博客上的解决方法还是有一定的问题的。面试官说这需要后台去做相关处理,而不用我们客户端做过多的处理。听到面试官的说法,我顿时挺高兴,可在实际开发中我还没有实现过,在真正的开发中实现了此功能(后台处理)再给出确定的答案吧。
评论中发emoji表情 iOS相关推荐
- android显示ios emoji表情符号,IM 使用的 Emoji 表情显示
估计很多人都看到输入法键盘中使用的输入表情的Emoji. 键盘emoji.png Emoji.png Emoji使用基础 可以看到在不同的Native Android IOS系统中对应的emoji码显 ...
- Emoji表情图标在iOS与PHP之间通信及MySQL存储
在某个 iOS 项目中,需要一个服务器来保存一些用户数据,例如用户信息.评论等,我们的服务器端使用了 PHP+MySQL 的搭配.在测试过程中我们发现,用户在 iOS 端里输入了 Emoji 表情提交 ...
- ios emjoi java_前端App开发,实际工作中三端(android,ios,前端H5)emoji表情显示解决方案...
想起最近开发APP的时候,产品提的一个需求,用户的帖子正文还有评论内容里,要能够显示emoji表情,因为我们这款app是混合开发的,APP里的发贴,发评论是原生做的(android和ios),但帖子详 ...
- iOS禁止输入emoji表情
因为emoji编码在android或者pc设备没有很好的支持,所以有时候为了禁止emoji表情的输入,因为关闭不了系统emoji的键盘,那只能根据编码把emoji表情过滤掉,写了一个NSString的 ...
- IOS Emoji表情
IOS Emoji 前言:我比较喜欢有趣的东西,有一些有趣的小东西,可能不是多么多么牛逼,也可能不需要多高深的技巧,也不会为其他什么强大的功能而服务,但是有时候将很多有趣的小东西组合起来运用,比如在你 ...
- java过滤ios表情,JS前端去掉emoji表情和Java后台处理emoji表情方法
莫非定律 : 任何事情都没表面看去来那么简单! emoji表情在项目中使用,因为其特殊的编码格式,经常导致在网络传输.编解码.以及数据入库中带来一些问题! 下面简单介绍使用Js和java处理移除emo ...
- iOS应用中增加emoji表情输入功能
Emoji的介绍参见wiki,iOS支持的emoji表情列表参见http://pukupi.com/post/1964/,iOS支持的emoji表情的Unicode编码范围为[0xE001,0xE05 ...
- iOS中Emoji表情的判断
问题 服务器端不支持Emoji表情,因此客户端在上传用户输入时,不能包含Emoji表情. 解决方案 在客户端发送请求前,判断用户输入中是否含有表情,如果含有表情,则提示用户重新输入.这个过程关键是如何 ...
- Android IOS风格Emoji表情,简单实用
相信大家做项目的时候,特别是聊天相关的,一般都需要用到Emoji. 但是Emoji表情在安卓和IOS两个平台上,显示效果是不一样的,如下图: 言归正传,大家都知道,Emoji就是一组Unicode编码 ...
最新文章
- CodeSmith实用技巧(十五):使用快捷键
- java读取C++结构体,类型转换
- mac os touch命令_MacOS系统终端常用命令大全
- PHP学习笔记02:自然数列求和
- html5 video视频资源保护,HTML5 视频播放 video
- c语言操作题和答案,C语言上机操作题及答案.doc
- 利用PLTS对F域测试数据做“AFR”指南
- linux oracle client 安装,Instant Client 下载 适用于 Linux x86-64(64 位)
- python 大智慧股池_大智慧的一般设置及股票池的安装步骤、使用方法
- 【SPSS统计分析】SPSS聚类分析:一个案例演示聚类分析全过程(附SPSS 19.0中文版下载)
- Gauss 求积公式及代码
- 什么是拓扑结构_拓扑结构图
- php西游记源码,基于Python第三方插件实现西游记章节标注汉语拼音的方法
- 深入理解操作系统实验——bomb lab(作弊方法2)
- excel股票今日走势计算机,有没有可以在excel上自动显示股票实时数据的方法
- 考试末名的英国教授获诺贝尔奖
- IP解析:含义、作用、格式、分类
- 如何理解线性回归中的“回归”,回归到哪里?
- 产品经理如何做好行业研究及竞争对手分析工作
- ROOT后安装Magisk,使用Magisk Hide 解决建设银行APP-一元流量不能用问题