emoji的实现原理?
emoji就是一段Unicode,但为什么在手机浏览器里它就有了色彩,像个图片一样呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
emoji就是一段Unicode,但为什么在手机浏览器里它就有了色彩,像个图片一样呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
因为字体文件,你甚至可以自己做一个字体文件。
android和ios的emoji长的也不一样。
你可以理解成宋体,微软雅黑。
然后也有一些产品的 emoji 是公司自研的。。可以明显看出和系统自带的不一样
就是一段字符串,为啥在浏览器上就变大了呢。
123
对于字体,大部分认为程序中有一套字体字典,通过Unicode去匹配字体。
这样理解是有误的,因为Unicode匹配的不仅仅只有字体,不要把字体想成“字体”,应该想成是对象,Unicode只是对象的key,而value可以是任意。
value事先已经存放在了程序中,根据不同的value可以做不同逻辑处理与渲染,当然也可以是个图片,甚至另一个程序,只要程序事先做好了处理。
真正的区别在于emoji后来流行起来,甚至成为一个“标准”,谁不兼容谁就是跟大家过不去。所有浏览器,输入法,android,ios都兼容,让一些人以为emoji就是程序中本就通用的存在,其实各个平台都有自己的一套中间层逻辑,完全不同。
在开发过程中,我们经常使用配置文件,key&value形式,去做各种复杂但可能完全不同类型的处理。emoji也是同样的道理
![QQ图片20200309190026.png QQ图片20200309190026.png](/img/bVbEjhn)
那是因为有字体文件。就像有的字体文件可以把简体字显示为繁体字,只要字体文件里定义了,那一个字要显示成表情图片完全可以的。