emoji编码表_从一个Emoji字符说起

一、前言

在和朋友聊天时,突然无话可说,屏幕前的你该如何是好呢? 很多时候屏幕前的我们,都会想到发个表情,然后彼此心照不宣地沉默。

    如果你用的是windows 10的新版本,按下 winkey + period (即windows图标和英文句点按钮),就会有如下的弹出框。

d1970d4cde3cb19a4b102364e7f80066.png

图1.1

    反复斟酌、几度纠结之后,你选择了这样一个表情:?。将鼠标停留在这个表情上几秒,可以看到提示文字:“傲慢”。如果你用的是andriod、ios,在输入法中仔细搜寻,一定也可以发现这样一个表情。

    如果哪里都找不到,也没关系,直接将这个表情复制,粘贴到微信聊天框中,回车,成功地将这个表情发了出去。在对方沉默不语的时间里,你点开了微信对话框里的表情,却发现怎么也找不着这个傲慢的表情?!但是这个表情的确正确地显示了呀?这是怎么回事呢?“微信连不存在的表情都支持,太厉害了叭!”也许你会发出这样的感慨。也有可能你会嗤之以鼻:“不过是显示了一张图片而已”。不过,这真的是图片吗? 且听我缓缓道来。

二、Emoji的前世今生

上面的表情,其实是个emoji字符。emoji这个词,互联网时代的人当然都不会陌生。但是刚刚的表述,又说它是表情,又说它是字符,似乎将表情和字符混为一谈了,这是怎么回事呢?其实准确来说,emoji应该称为“表情字符”,其本质还是一个字符,只是个用来象征表情的字符罢了。一个emoji字符,和一个字母、一个汉字,没有什么本质的不同,或者想象一下,对于一个不懂汉字的人来说,汉字看起来也许也就像一个个表情呢~ 当然啦,表情也可以用图片表示,至于计算机上区别字符和图片的根本因素是什么,稍后再论,这里先说下emoji出现的历史。

    Emoji用日语表示就是「絵文字」,平假名为「えもじ」,1999年,由株式会社NTT DoCoMo的iMode服务团队开发,在12×12格的方格纸上以简单的图案描绘出人的各种表情及生活事物,再把它们对应成字符数据,NTT公司的这一发明意在提供一种在画面尺寸和通信量受限的情况下,让用户们通过视觉顺利进行交流的方式。

Emoji诞生之初,就得到了年轻人的追捧,到了2004年左右它已经被全日本所接受。2009年emoji被收录进Unicode编码,成为了世界标准的通用字符,2012年智能手机中加入了对emoji的支持,2014年提出了“世界Emoji日(World Emoji Day)”,2015年《牛津词典》的年度词汇是?,2016年起,纽约现代美术馆(MoMA)将NTT DoCoMo的iMode中提供的第一版176个emoji纳入永久收藏。如今,emoji已经成为了iOS、Android、Mac OS及Windows中默认支持的表情符号。

关于世界Emoji日,是在每年的7月17日,因为提出了World Emoji Day, 因此各个平台上表示日历的Emoji也都展示的是7月17日,?Calendar Emoji,还有一个专门的World Emoji Day网站:点我试试

    iMode的开发负责人是栗田穣崇(Shigetaka Kurita),也是他设计了最早版本的emoji,引用一句栗田先生后来的回忆分析:

“在以数字信息互动为主的手机世界中,仅用文字来沟通的话,容易产生理解上的误会,因此有必要附加上感情语气,因此emoji的登场有其符合时代刚需的必然性”

8b51b1ae80abe4c6587aef41106d5016.png

图2.1

    一个没有接触过编程的人,应该也能看懂上面大部分的内容,唯一可能有疑惑的大概是:2009年emoji被收录进Unicode编码。这个Unicode编码又是个什么玩意呢? 开头说的计算机上区别字符和图片的根本因素是什么呢?

三、字符集和字符编码

说起字符集,首先不得不扯一些语言学和计算机的基础。

3.1 语言学简介

    每个文化都有自己的语言体系,每种语言大致都会包含 发音系统、书写系统、语法系统 等几大方面。发音系统的基本单位是音素(phoneme),书写系统的基本单位是字素(grapheme),语法系统的基本单位是语素(morpheme)。

  • 小学时,我们学的声母表、韵母表,里面的每个音,就可以认为是普通话的音素,英文的音标就可以当作是英文的音素。

  • 中文的字素就有两种看法了,一种认为汉字可以按照偏旁部首的拆分,每个偏旁部首作为一个字素,比如“河”,可以认为是“氵”和“可”两个字素(李玲璞先生就持这种看法),另一种看法则认为每个汉字作为一个字素。英文的字素就是一个个的拉丁字母。

  • 中文的语素通常就是对应着单个汉字,而英文的语素可能就会复杂点,例如really, 可以看作是 real 和 -ly 两个语素,这种区别主要是因为中文不通过词语形变来表达语法,只通过语法词汇来区分语法,比如“的”、“了”等。

    当然啦,回到字符集上来,这里面与字符集关系最密切的显然是字素,那么文字、字符、字素,这些有区别吗?为什么要发明这么多名词?!太难了...

1)先说“文字”

文字是记录语言的视觉符号系统,是人类社会运用语言相当长时间以后出现的文化现象。

    也就是说,文字是个宏观的概念。语言的发展都是先有发音后有文字的,文字的出现是一种必然,同样作为信息的载体,文字显然比声音更容易保存,这也是为什么历史上知识都是通过文字流传下来的。即使是互联网时代来临,多媒体技术诞生,文字载体相对于音频载体,信息密度也是高到不知道哪里去了,音视频中的信息冗余太大,利于传播,但并不利于保存,如今一门语言如果没有文字,慢慢也就会被淘汰了吧。

2)再说“字符”(Character)

    字符这个概念在英语和汉语中很容易,一个字母、一个汉字就是一个字符,如果给个概念,大概是:拥有实际语义的最小文字单位。但这其实并不严谨,还引入了更为模糊的语义概念。我觉得,简单一点可以理解成,字符就是一门语言的文字中,可以独立有意义的最小单位,它并不是一个特别严谨的概念。只有和计算机科学结合,才有意义,所以暂且按下不表。

3)后说“字素”

    字素大多数情况下,和一个字符是相同的,但有些语言中,一个字符又可以由多个字素组合而成,印度语、阿拉伯语这种极复杂的语言,就是这样的,汉字其实也可以这样去拆分,但在计算机的世界中并没有这样做。

3.2 计算机科学简介

    学过编程的人都知道,计算机程序中,一切数据的最终形态,其实都是二进制。

439997aec3dc448d46f7a252009f7fc4.png

图3.1

    也就是说,此时此刻呈现在你眼前的所有信息,你耳中听到的音乐,在计算机中全都是 010101010101 这样的存在。

世界上有10种人,懂10进制的,和不懂10进制的。——鲁迅

    那么文字自然也是如此,每个有独立语言的国家,在计算机诞生之初,便需要考虑如何表示和存储字符了。即如何将本国语言中的每个文字,对应到一个二进制数中,而这种一一对应的规则,我们就可以将其称为字符集。

在计算机世界中,二进制虽然可以区分到每一位,但实际的读取和写入,最小都是1个字节(byte),1个字节包含8位二进制。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值