Skip to main content
Best Emojis

表情符号术语表

这份术语表用最费功夫的方式解释表情符号背后的词汇:每个术语都用我们数据集中的一个真实表情来演示,把它拆成一个个码位,并列出每个码位的 Unicode 名称、引入它的版本以及它的作用。每个示例旁边的数字都是根据你实际会复制的字符串计算出来的,没有任何四舍五入或估算。共 20 个术语,拆解了 69 个码位。

按键序列

按键表情一共有十二个,每个都由一个普通键盘字符、一个 VS16 和 U+20E3 COMBINING ENCLOSING KEYCAP 组成,后者是一个组合符号,会在前面的字符周围画出按键。基础字符都是纯 ASCII:数字 0 到 9、井号和星号。如果软件丢掉了这个组合符号,就只剩一个光秃秃的 # 挨着一个空方框。按键十看起来像同一家族的成员,其实不是,它是一个独立的单码位 U+1F51F,没有任何组合。

3 个码位,3 个 UTF-16 单元,7 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+0023#NUMBER SIGN1.1 (1993)可见的基础字符
U+FE0F(不可见)VARIATION SELECTOR-163.2 (2002)请求彩色表情样式
U+20E3◌⃣COMBINING ENCLOSING KEYCAP3.0 (1999)在前一个字符周围画出按键
按键十,单个码位. 1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F51F🔟KEYCAP TEN6.0 (2010)可见的基础字符

作为表情符号自 Emoji 1.0 (2015) 起可用

打开“井号”页面另请参阅:文字符号返回术语列表

变体选择符(VS16 与 VS15)

变体选择符 16,即 U+FE0F,是放在字符后面、请求表情样式的隐形码位。变体选择符 15,即 U+FE0E,则请求纯文本版本。两者本身都不画任何东西。下面的电话用同一个基础字符 U+260E 展示了两种形态。各平台和字体对 VS15 的支持并不一致,所以应把它看作请求而不是保证。从网页上粘贴来的表情变成细细的黑色轮廓时,通常是 VS16 在半路丢失了。

2 个码位,2 个 UTF-16 单元,6 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+260E☎BLACK TELEPHONE1.1 (1993)可见的基础字符
U+FE0F(不可见)VARIATION SELECTOR-163.2 (2002)请求彩色表情样式
文本样式,带 VS15. 2 个码位,2 个 UTF-16 单元,6 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+260E☎BLACK TELEPHONE1.1 (1993)可见的基础字符
U+FE0E(不可见)VARIATION SELECTOR-153.2 (2002)请求纯文本样式

作为表情符号自 Emoji 1.0 (2015) 起可用

打开“电话”页面另请参阅:表情符号复制粘贴返回术语列表

标签序列(地区旗帜)

英格兰、苏格兰和威尔士没有自己的两字母国家代码,所以它们的旗帜采用一种更长的机制。序列以飘扬的黑旗 U+1F3F4 开头,用 U+E0000 区块中的隐形标签字符拼出 gbeng 这样的地区代码,最后以 CANCEL TAG U+E007F 结束。日本用两个码位表达的东西,英格兰需要七个。这种格式随 2017 年的 Emoji 5.0 推出,理论上可以拼出任何 ISO 3166-2 地区,但厂商只画 Unicode 推荐的那三面。

7 个码位,14 个 UTF-16 单元,28 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F3F4🏴WAVING BLACK FLAG7.0 (2014)可见的基础字符
U+E0067(不可见)TAG LATIN SMALL LETTER G3.1 (2001)隐形标签,字母 g
U+E0062(不可见)TAG LATIN SMALL LETTER B3.1 (2001)隐形标签,字母 b
U+E0065(不可见)TAG LATIN SMALL LETTER E3.1 (2001)隐形标签,字母 e
U+E006E(不可见)TAG LATIN SMALL LETTER N3.1 (2001)隐形标签,字母 n
U+E0067(不可见)TAG LATIN SMALL LETTER G3.1 (2001)隐形标签,字母 g
U+E007F(不可见)CANCEL TAG3.1 (2001)结束标签序列

作为表情符号自 Emoji 5.0 (2017) 起可用 我们的 emoji.json 将其记录为 Unicode 11.0。

打开“英格兰”页面另请参阅:旗帜表情返回术语列表

表情修饰符基础

只有部分表情接受肤色。Unicode 用一个名为 Emoji_Modifier_Base 的属性标记它们,名单主要是手、手势、人物和少数身体部位,举起的手就是其中之一。因为这个属性是公开数据,键盘可以查询它来决定长按时在哪里提供肤色选择:举起的手会有,乌龟永远不会有。像咧嘴笑的脸这样的黄色笑脸根本不是修饰符基础,因为它们从来就不打算代表某个具体的人。

1 个码位,1 个 UTF-16 单元,3 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+270B✋RAISED HAND6.0 (2010)可见的基础字符
带中等肤色修饰符. 2 个码位,3 个 UTF-16 单元,7 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+270B✋RAISED HAND6.0 (2010)可见的基础字符
U+1F3FD🏽EMOJI MODIFIER FITZPATRICK TYPE-48.0 (2015)肤色,菲茨帕特里克第 4 型

作为表情符号自 Unicode 6.0 (2010) 起可用

打开“举起的手”页面另请参阅:表情符号复制粘贴返回术语列表

表情样式与文本样式

很多符号早在表情出现之前就已经在 Unicode 里了,所以它们有两种可能的样子:一种是跟随周围文字颜色的扁平文本字形,一种是全彩图片。每个字符都有一个默认样式。太阳来自 1993 年的 Unicode 1.1,默认是文本,所以单独出现时可能只显示成一个黑色小轮廓。像咧嘴笑的脸这样 2010 年以后加入的表情,默认就是表情样式,不需要任何帮助。默认是文本的时候,就需要变体选择符来切换。

2 个码位,2 个 UTF-16 单元,6 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+2600☀BLACK SUN WITH RAYS1.1 (1993)可见的基础字符
U+FE0F(不可见)VARIATION SELECTOR-163.2 (2002)请求彩色表情样式
不带选择符,因此采用默认样式. 1 个码位,1 个 UTF-16 单元,3 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+2600☀BLACK SUN WITH RAYS1.1 (1993)可见的基础字符

作为表情符号自 Emoji 1.0 (2015) 起可用

打开“太阳”页面另请参阅:文字符号返回术语列表

厂商设计(各平台的图案)

Unicode 决定每个表情的含义并发布参考图片,但你屏幕上的图案属于苹果、谷歌、三星、微软或制作字体的其他公司。因此同一个码位在不同手机上可能差别明显。手枪就是著名的例子。苹果在 2016 年的 iOS 10 中把它重画成绿色水枪,到 2018 年其他主要厂商大多也跟进了,而它的 Unicode 名称至今仍是 PISTOL。本站每个表情页面都会把五家厂商的图片并排展示,正是出于这个原因。

1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F52B🔫PISTOL6.0 (2010)可见的基础字符

作为表情符号自 Unicode 6.0 (2010) 起可用

打开“手枪”页面另请参阅:苹果表情返回术语列表

豆腐块(空白方框)

豆腐块是一种俗称,指设备上没有任何已安装字体包含某个字符的字形时画出的空白矩形,里面有时带一个问号或十六进制代码。这个名字来自它和一块豆腐的相似,谷歌的 Noto 字体家族也正是以“不再有豆腐块”(no more tofu)为目标而命名的。表情本身完好无损地送到了,只是手机没有东西可以用来画它。驼鹿是 2022 年随 Unicode 15.0 加入的,所以系统字体早于对它的支持的手机,至今仍会显示一个方框。

1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1FACE🫎MOOSE15.0 (2022)可见的基础字符

作为表情符号自 Unicode 15.0 (2022) 起可用

打开“驼鹿”页面另请参阅:新表情符号按 Unicode 版本浏览表情返回术语列表

短代码

短代码是用冒号包起来的单词,例如 :tada:,聊天应用会在你输入时把它换成表情。短代码根本不属于 Unicode。每个平台都维护自己的列表,所以在 Slack 里能用的代码在 Discord 或 GitHub 里可能失效,尽管大多数列表都有共同的源头,比如 GitHub 开源的 gemoji。在本站每个表情下方,我们都会并排列出 Slack、Discord 和 GitHub 三种写法,来自我们自己的短代码表,因为这三者并不总是一致。

1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F389🎉PARTY POPPER6.0 (2010)可见的基础字符

作为表情符号自 Unicode 6.0 (2010) 起可用

打开“派对礼炮”页面另请参阅:Slack、Discord 和 GitHub 短代码对比表情符号复制粘贴返回术语列表

肤色修饰符(菲茨帕特里克量表)

2015 年发布的 Unicode 8.0 新增了从 U+1F3FB 到 U+1F3FF 的五个修饰字符,名称来自皮肤科医生按皮肤对日晒反应进行分类的菲茨帕特里克量表。这个量表有六种类型,Unicode 把第 1 型和第 2 型合并成最浅的一个修饰符,所以色板是五个而不是六个。修饰符紧跟在人物表情后面时,会给它换上肤色。没有修饰符时,各平台会显示一种刻意不真实的默认颜色,通常是黄色。如果放在不能带肤色的东西后面,它就会单独显示成一个彩色方块。

1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F44D👍THUMBS UP SIGN6.0 (2010)可见的基础字符
带中等肤色修饰符. 2 个码位,4 个 UTF-16 单元,8 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F44D👍THUMBS UP SIGN6.0 (2010)可见的基础字符
U+1F3FD🏽EMOJI MODIFIER FITZPATRICK TYPE-48.0 (2015)肤色,菲茨帕特里克第 4 型

作为表情符号自 Unicode 6.0 (2010) 起可用

打开“竖起大拇指”页面另请参阅:人物与身体表情返回术语列表

码位

码位是 Unicode 分配给一个字符的编号,写作 U+ 后跟十六进制数字。咧嘴笑的脸是 U+1F600,凡是认识这个编号的手机、字体和键盘,对它的含义都没有分歧。发送表情时真正传输的是码位,图像要等到达之后,由接收它的设备绘制。大多数表情位于 U+FFFF 之上,也就是 Unicode 所说的辅助平面。过去一些软件假设每个字符都能装进 16 位,于是常常把表情切成两个损坏的半截,原因就在这里。

1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F600😀GRINNING FACE6.1 (2012)可见的基础字符

作为表情符号自 Unicode 6.1 (2012) 起可用

打开“咧嘴笑的脸”页面另请参阅:按 Unicode 版本浏览表情表情符号含义返回术语列表

码位、字形与字素

有三样不同的东西都被叫作“字符”,而表情正是让差别暴露出来的地方。码位是一个 Unicode 编号。字形是字体画出来的图形。字素,在 Unicode 标准附录第 29 号中称为扩展字素簇,是读者眼中的一个整体,也是光标按一次就应该跨过的单位。下面的家庭是一个字素、一个字形,却由五个码位拼成。按码位计数的软件,更糟的是按 UTF-16 单元计数的软件,会说这一张图有好几个字符长,字数限制就是这样把表情吃掉的。

5 个码位,8 个 UTF-16 单元,18 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F468👨MAN6.0 (2010)可见的基础字符
U+200D(不可见)ZERO WIDTH JOINER1.1 (1993)把相邻字符粘合成一个表情
U+1F469👩WOMAN6.0 (2010)可见的基础字符
U+200D(不可见)ZERO WIDTH JOINER1.1 (1993)把相邻字符粘合成一个表情
U+1F467👧GIRL6.0 (2010)可见的基础字符

作为表情符号自 Emoji 2.0 (2015) 起可用

打开“家庭:男人、女人、女孩”页面另请参阅:人物与身体表情返回术语列表

区域指示符(旗帜序列)

国家旗帜并不是以旗帜图片的形式存储的。每面旗都是一对区域指示符号,取自 U+1F1E6 到 U+1F1FF 的 26 个符号,分别代表字母 A 到 Z。两个符号拼出一个 ISO 3166 国家代码,至于有没有对应的图案,由平台决定。日本是 J 后面跟 P。Unicode 从不列出有哪些旗帜,所以当某个平台不画某面旗时,读者看到的是两个带框的字母。Windows 长期以来对所有国家旗帜都是这样显示的。

2 个码位,4 个 UTF-16 单元,8 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F1EF🇯REGIONAL INDICATOR SYMBOL LETTER J6.0 (2010)区域指示符,字母 J
U+1F1F5🇵REGIONAL INDICATOR SYMBOL LETTER P6.0 (2010)区域指示符,字母 P

作为表情符号自 Emoji 1.0 (2015) 起可用

打开“日本”页面另请参阅:旗帜表情这是哪国的旗帜?返回术语列表

完全限定与未限定

Unicode 的 emoji-test.txt 文件为每个表情字符串标注了状态。完全限定表示它带齐了在任何地方都显示为表情所需的变体选择符。未限定表示缺少必要的 VS16,因此平台显示文本样式也完全合理。最低限定指较长的序列中第一个字符限定正确、但后面某个字符缺少选择符的情况。微笑的脸是个很好的测试例子:没有 U+FE0F 时它还是同一个码位,但文件把这种形式列为未限定,并期望键盘输入完全限定的形式。

2 个码位,2 个 UTF-16 单元,6 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+263A☺WHITE SMILING FACE1.1 (1993)可见的基础字符
U+FE0F(不可见)VARIATION SELECTOR-163.2 (2002)请求彩色表情样式
未限定,不带 VS16. 1 个码位,1 个 UTF-16 单元,3 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+263A☺WHITE SMILING FACE1.1 (1993)可见的基础字符

作为表情符号自 Emoji 1.0 (2015) 起可用

打开“微笑的脸”页面另请参阅:表情符号复制粘贴返回术语列表

颜文字、西式表情与表情符号

这三者经常被混为一谈。像 :) 这样的西式表情是用键盘标点打出来、需要侧着看的脸,一般认为起源于 Scott Fahlman 在 1982 年发的一条留言板帖子。颜文字在日语里意为“脸部文字”,是正着看的,取材的符号范围要广得多,比如 (^_^)。两者都是纯文本,所以在哪里看都一样。表情符号则是经过编码的字符或序列,由各个平台画成图片。下面几行把差别讲得很具体:两个或五个普通字符,对比一个码位。

1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F642🙂SLIGHTLY SMILING FACE7.0 (2014)可见的基础字符
颜文字符号(西式表情). 2 个码位,2 个 UTF-16 单元,2 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+003A:COLON1.1 (1993)普通键盘字符
U+0029)RIGHT PARENTHESIS1.1 (1993)普通键盘字符
颜文字. 5 个码位,5 个 UTF-16 单元,5 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+0028(LEFT PARENTHESIS1.1 (1993)普通键盘字符
U+005E^CIRCUMFLEX ACCENT1.1 (1993)普通键盘字符
U+005F_LOW LINE1.1 (1993)普通键盘字符
U+005E^CIRCUMFLEX ACCENT1.1 (1993)普通键盘字符
U+0029)RIGHT PARENTHESIS1.1 (1993)普通键盘字符

作为表情符号自 Unicode 7.0 (2014) 起可用

打开“微笑的脸”页面另请参阅:颜文字文字符号返回术语列表

CLDR 简称

字符的 Unicode 名称永久固定,用大写字母书写,有时还很别扭。CLDR 简称是由 Unicode Common Locale Data Repository 维护的友好名称,被翻译成几十种语言,并且可以修改。星星眼就很好地说明了这种差别。它的永久字符名称是 GRINNING FACE WITH STAR EYES,而 CLDR 的英文简称是 star-struck。我们表情页面上的名称以 CLDR 简称为基础。CLDR 还提供了大多数表情键盘背后的搜索关键词,那是另一份更长的列表。

1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F929🤩GRINNING FACE WITH STAR EYES10.0 (2017)可见的基础字符

作为表情符号自 Unicode 10.0 (2017) 起可用 我们的 emoji.json 将其记录为 Unicode 11.0。

打开“眼冒星星”页面另请参阅:表情符号含义返回术语列表

Emoji 版本与 Unicode 版本

表情有自己的版本号,和 Unicode 的版本号是分开的。Emoji 1.0 到 5.0 在 2015 年到 2017 年间按自己的节奏发布,有的只增加新序列,有的则加入新一版 Unicode 的表情。2018 年,编号跳到 Emoji 11.0,与 Unicode 11.0 对齐,此后两者同步前进,偶尔也有像 Emoji 13.1 这样只增加序列的小版本。只记录单个字符年龄的数据,在序列上就会出错。我们自己的 emoji.json 把彩虹旗记为 Unicode 6.0,那是其中彩虹的年龄,而这面旗其实是 2016 年随 Emoji 4.0 出现的。

4 个码位,6 个 UTF-16 单元,14 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F3F3🏳WAVING WHITE FLAG7.0 (2014)可见的基础字符
U+FE0F(不可见)VARIATION SELECTOR-163.2 (2002)请求彩色表情样式
U+200D(不可见)ZERO WIDTH JOINER1.1 (1993)把相邻字符粘合成一个表情
U+1F308🌈RAINBOW6.0 (2010)可见的基础字符

作为表情符号自 Emoji 4.0 (2016) 起可用

打开“彩虹旗”页面另请参阅:按 Unicode 版本浏览表情新表情符号返回术语列表

Emoji Kitchen

Emoji Kitchen 是谷歌 Gboard 中的混搭功能:选两个表情,它会给出一张把两者合在一起的手绘贴纸。结果是图片,不是 Unicode。没有任何新内容被编码,所以 Kitchen 贴纸是以图片形式送达的,无法作为字符粘贴回文本框。一个组合只有在谷歌的画师画过之后才存在,因此我们的数据是逐个表情记录搭配列表的,而不是假设什么都能混。根据我们的数据,乌龟目前可以和 359 个表情搭配,每一个都是单独的画作。

1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F422🐢TURTLE6.0 (2010)可见的基础字符

作为表情符号自 Unicode 6.0 (2010) 起可用

打开“乌龟”页面另请参阅:Emoji Kitchen乌龟混搭返回术语列表

Genmoji

Genmoji 是 Apple Intelligence 根据文字描述生成的表情风格图片,随 2024 年 12 月的 iOS 18.2 推出。和 Emoji Kitchen 贴纸一样,它们是没有码位的图片。下面的融化的脸有一个全世界任何设备都能查到的编号,而 Genmoji 没有。苹果设备可以把它直接显示在消息中,其他平台一般会把它当作普通图片接收。所以 Genmoji 无法被搜索,无法作为文本复制,也不能指望它在苹果应用之外看起来一样。

1 个码位,2 个 UTF-16 单元,4 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1FAE0🫠MELTING FACE14.0 (2021)可见的基础字符

作为表情符号自 Unicode 14.0 (2021) 起可用

打开“融化的脸”页面另请参阅:苹果表情返回术语列表

RGI(Recommended for General Interchange)

RGI 是 Recommended for General Interchange 的缩写,意为推荐用于通用交换,是 Unicode 列出的、希望厂商支持且大家可以放心互发的表情名单。格式正确是另一回事。一个得克萨斯州的标签序列,构造方式和下面的苏格兰旗完全相同,是合法的 Unicode,却不属于 RGI,所以几乎没有平台会画它。任何人自己发明的 ZWJ 组合也是如此。网站报出表情总数时,几乎总是在数 RGI 名单,而这个总数会随每次 Emoji 发布而增长。

7 个码位,14 个 UTF-16 单元,28 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F3F4🏴WAVING BLACK FLAG7.0 (2014)可见的基础字符
U+E0067(不可见)TAG LATIN SMALL LETTER G3.1 (2001)隐形标签,字母 g
U+E0062(不可见)TAG LATIN SMALL LETTER B3.1 (2001)隐形标签,字母 b
U+E0073(不可见)TAG LATIN SMALL LETTER S3.1 (2001)隐形标签,字母 s
U+E0063(不可见)TAG LATIN SMALL LETTER C3.1 (2001)隐形标签,字母 c
U+E0074(不可见)TAG LATIN SMALL LETTER T3.1 (2001)隐形标签,字母 t
U+E007F(不可见)CANCEL TAG3.1 (2001)结束标签序列
得克萨斯州,格式正确但不属于 RGI. 6 个码位,12 个 UTF-16 单元,24 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F3F4🏴WAVING BLACK FLAG7.0 (2014)可见的基础字符
U+E0075(不可见)TAG LATIN SMALL LETTER U3.1 (2001)隐形标签,字母 u
U+E0073(不可见)TAG LATIN SMALL LETTER S3.1 (2001)隐形标签,字母 s
U+E0074(不可见)TAG LATIN SMALL LETTER T3.1 (2001)隐形标签,字母 t
U+E0078(不可见)TAG LATIN SMALL LETTER X3.1 (2001)隐形标签,字母 x
U+E007F(不可见)CANCEL TAG3.1 (2001)结束标签序列

作为表情符号自 Emoji 5.0 (2017) 起可用

打开“苏格兰”页面另请参阅:新表情符号返回术语列表

ZWJ 序列

零宽连接符 U+200D 是一个隐形字符,放在两个表情之间,告诉渲染器如果有这个组合的设计,就把它们画成一个。女技术员由女人、ZWJ 和个人电脑三个码位组成。接收设备如果没有组合后的设计,就会忽略连接符,把各部分并排显示。所以新的职业或家庭表情在旧手机上会变成一小排分开的人和物。传输中什么都没丢,看到的只是零件本身。

3 个码位,5 个 UTF-16 单元,11 个 UTF-8 字节
码位字符Unicode 名称加入版本作用
U+1F469👩WOMAN6.0 (2010)可见的基础字符
U+200D(不可见)ZERO WIDTH JOINER1.1 (1993)把相邻字符粘合成一个表情
U+1F4BB💻PERSONAL COMPUTER6.0 (2010)可见的基础字符

作为表情符号自 Emoji 4.0 (2016) 起可用

打开“女技术员”页面另请参阅:人物与身体表情返回术语列表

20
个术语讲解
69
个码位拆解
14
个隐形辅助字符展示
7
最长示例中的码位数

表情符号术语表常见问题

为什么一个表情会被算成好几个字符?

因为大多数软件计算的是码位或 UTF-16 单元,而不是你看到的东西。女技术员是三个码位、五个 UTF-16 单元,所以按码位计数的输入框会看到三个字符,按 UTF-16 单元计数的会看到五个。上面每个示例都列出了这三种计数。

为什么有些旗帜显示成两个字母?

国家旗帜是两个拼出国家代码的区域指示符字母。如果设备没有这对字母的图案,就会直接显示字母。Windows 对所有国家旗帜都是这样,所以从手机发出的日本国旗在那里会显示为字母 J 和 P。

ZWJ 表情是一个表情还是好几个?

取决于设备,两种说法都对。它是由隐形连接符粘在一起的多个表情组成的单个字素。有这个组合设计的设备会画出一张图;没有的设备会忽略连接符,按顺序分别画出每个部分。

我能用 ZWJ 连接两个表情来发明新表情吗?

你可以输入这个序列,它也是合法的 Unicode,但只有在字体包含相应设计的平台上才会显示成一张图。RGI 名单之外的组合几乎从来没有这种设计,所以大多数读者只会看到两个并排的表情。

为什么同一个表情在朋友手机上看起来不一样?

Unicode 只传送码位。图案来自接收设备上的字体,而苹果、谷歌、三星和微软各画各的。旧手机还可能完全没有较新的设计,这时你看到的就是豆腐块而不是表情。