前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >特殊Emoji编码的介绍

特殊Emoji编码的介绍

作者头像
用户5521279
发布2019-08-06 16:44:12
2.6K0
发布2019-08-06 16:44:12
举报
文章被收录于专栏:搜狗测试搜狗测试

【前言】

Emoji字符是Unicode字符集中一部分,特定形象的Emoji表情符号对应到特定的Unicode字节。随着Emoji涉及的范围越来越广泛,单Unicode这种基础Emoji已经不能满足要求,然后就有了一些特殊的组合方式来定义新的Emoji。

【双Unicode类Emoji】

一些基本的Emoji是单Unicode,也有一些是双Unicode。比较典型的旗帜序列类Emoji串是通过两个地域指示符组合的方式来表示一个国家的国旗。总共有26个地域指示符(U+1F1F6~U+1F1FF),每个指示符有对应一个英文字母含义,例如 U+1F1E8 为地域指示符 C,U+1F1F3 为地域指示符 N,这两个指示符的组合表示一个国旗CN即中国国旗(U+1F1E8 U+1F1F3),在不支持Emoji5.0的系统上,会被显示为两个字母Emoji表情(CN),合法的旗帜序列有256种。

【控制类Emoji】

在众多Emoji中,有一些特殊的Emoji 并没有显示的样式,只是起到了控制的作用。这些控制型的Emoji 与基础Emoji 出现在一起,可以展示更多的样式。

1.变量选择器

"变量选择器-15"(VARIATION SELECTOR-15,简写VS-15): <U+FE0E>,作用是让基础Emoji 变成更接近文本样式(text-style);

"变量选择器-16"(VARIATION SELECTOR-16,简写VS-16): <U+FE0F>,作用则是让基础Emoji 变成更接近Emoji样式(emoji-style).

VS-15 和 VS-16 加在基础Emoji字符的后面,可以起到控制作用(前提是必须系统支持,否则会被忽略)。

2.键帽序列

键帽序列是将数字0-9,*和#在VS-16的基础上通过U+20E3字符转换为键帽的样式。

例如:#号(U+0023 U+FE0F U+20E3) 的 emoji 样式

3.修饰字符-改变肤色

目前定义了五种修饰字符,分别表示颜色深浅,它们分别是: U+1F3FB ~ U+1F3FF,分别简称为:FITZ-1-2,FITZ-3,FITZ-4,FITZ-5,FITZ-6。这些Emoji可以对人体肤色进行改变,改变的对象仅限于“表示人体部位的Emoji”,如白皮肤男孩的emoji编码是U1F466和U1F3FB的组合。

4.无缝链接序列

一个特殊的控制符:U+200D (ZERO WIDTH JOINER,简写ZWJ),起到了连接Emoji的作用,从而将多个Emoji变成一个Emoji来显示。同样,前提是必须系统支持,否则会被忽略。家庭人物、职业、运动等许多都是用这种方式组成的。

【总结】

因为emoji的编码规则都是通用的,所以了解这些规则无论在哪个平台测试都可以做参考,能帮助测试人员快速定位问题。

拿小编测试Emoji候选时遇到两个问题来说明一下。

问题一:键盘中输入“停车”关键字,输出的Emoji候选样式为

,与预期的

不一样。

问题原因:一个是文本样式,一个是Emoji样式。前者的编码是(U+1F17F U+FE0E),而后者的编码是(U+1F17F U+FE0F)

问题二:键盘中输入“农夫”关键字,输出的Emoji候选样式为

,与预期的Emoji不一样。

问题原因:无缝连接符和肤色修饰符使用错误。从编码来看想要输出的是白皮肤、性别男、职业是农夫,其正确编码是(U+1F468 U+1F3FB U+200D U+1F33E )

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档