ios emoji表情的保存

emoji表情的保存

 发表于 2015-08-12

文章目录
  1. 1. 1 All First
  2. 2. 2 当初
  3. 3. 3 搜索后遇到的坑
  4. 4. 4 github是个好东西
  5. 5. 4 保存表情为png图片
  6. 6. 5 待续
  7. 7. 附件

1 All First

最近三天一直在折腾emoji表情存数据库的问题.到今天为止,总算有个比较成熟的方案了.本文会列举使用过的方法.

2 当初

我们是给手机端做api接口,在这之前,手机端跟另一服务器端搞过emoji的问题,貌似采取的方案是手机端把所有聊天内容base64加密.这样是方便,但是看不到内容,做关键字过滤的话,需要解码.

3 搜索后遇到的坑

api刚开始是使用base64的方案,临近发新版本一个周,决定研究一下emoji表情的保存问题.百度谷歌,搜emoji表情保存,大部分的文章是让改数据库编码,偶尔遇到一篇文章,说采用替换的方式.这跟我最初的想法不谋而合.

4 github是个好东西

在github上搜到的第一个是
https://github.com/iamcal/php-emoji/blob/master/emoji.php,
恰好api使用的是php,于是把这个文件里的unified_to_html截出来,html代码改成表情名字,使用php的str_replace()方法第一个替换方案出现了,这个方案可以替换740个表情.
第二天,找到了这个
https://github.com/vdurmont/emoji-java
看介绍,知道是使用的
https://github.com/github/gemoji/tree/master/db/emoji.json
于是呼,json文件搞到php上,改改改,第二个方案出来了,这个方案可替换800多个表情.
本来打算就此结束,第三天,找来测试人员测试表情,发现json文件里有几个表情替换不了.继续在github上游荡.忘记在哪个项目里点到了这个网站:
http://www.emoji-cheat-sheet.com/,
看到底部的github项目:
https://github.com/arvida/emoji-cheat-sheet.com
点进去一看,业界良心啊.在项目的介绍页,明确介绍了几个项目:(省略部分)

上面这三个项目里,都在文件里写死表情的替换字典了.比如
https://github.com/diy/NSStringEmojize/blob/master/NSStringEmojize/emojis.h
https://github.com/pepibumur/emojize/blob/master/src/com/ppi/emoji/emojiParser.java
https://github.com/carpedm20/emoji/blob/master/emoji/unicode_codes.py
特别是第三个python的,里面表情有1200多个.并且
https://github.com/carpedm20/emoji/blob/master/utils/get-codes-from-unicode-consortium.py
还可以从网站上更新表情字典.(python3写的),我做了一个python2.7的修改版,建议在linux下,网速好,内存512+的机器上跑

4 保存表情为png图片

改进了上面提到的脚本(好吧,我是在更新这篇文章),保存http://www.unicode.org/emoji/charts/full-emoji-list.html网站里的IOS版的表情为图片,并保证图片的名字跟表情字典的占位符一致
附件中会给源码

5 待续

我相信没有完美的代码.也许以后还会发现更好的方案

附件

上文提到的python2.7的脚本

改进的脚本,可以把表情保存成png图片

爬好的表情包:

emoji的表情+字典,表情只存了ios版的.7z

 

新浪微博

width="100%" height="119" class="share_self" frameborder="0" scrolling="no" src="http://widget.weibo.com/weiboshow/index.php?language=&width=0&height=119&fansRow=2&ptype=1&speed=0&skin=9&isTitle=1&noborder=1&isWeibo=0&isFans=0&uid=2064464345&verifier=b3464355&dpc=1" style="-webkit-margin-before: 0px; -webkit-margin-after: 0px; margin: 10px 0px 0px; padding: 0.5em 0px; border-width: 0px; border-style: initial; outline: 0px; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline;">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值