Emoji Unicode 转换器,免费
将 emoji 转换为 Unicode 代码点(U+XXXX),或粘贴代码点以获得 emoji。
Emoji → Unicode
Unicode → Emoji
字符详情
使用方法
- 输入 emoji 或代码点:粘贴 emoji 字符或输入其 Unicode 代码点(例如 U+1F600)。
- 查看所有表示形式:工具会显示十进制代码、十六进制值、HTML 实体、CSS 转义、UTF-8 字节和 JavaScript 转义序列。
- 复制任意格式:点击任意结果即可立即复制,用于 HTML、CSS 或 JavaScript。
为什么使用 Emoji Unicode 转换器?
emoji 使用 Unicode 代码点编码,但每个系统使用不同的格式。HTML 需要 😀 或 😀 实体。CSS 伪元素需要转义形式 \1F600。JavaScript 字符串需要 \u{1F600}。手动查找这些格式很繁琐 · 此工具只需输入一个 emoji 即可立即生成所有格式。开发者、设计师和内容创作者使用它将 emoji 安全地嵌入代码中,避免直接复制粘贴原始字符可能引发的编码问题。
支持的输出格式
- Unicode 代码点 , 参考用的 U+1F600 表示法
- HTML 十进制实体 , 用于 HTML 页面的 😀
- HTML 十六进制实体 , 另一种 HTML 形式 😀
- CSS 转义 , 用于 CSS content 属性的 \1F600
- JS 转义 , 用于 JavaScript 字符串字面量的 \u{1F600}
- UTF-8 字节 , 用于低层编码工作的原始字节序列
表情符号简史,以及大家普遍误解的几点
被引用最多的起源故事将创造「第一个表情符号」的功劳归于NTT DoCoMo的栗田穣崇(Shigetaka Kurita),时间是1998-1999年。这一说法属实,但并不完整。在栗田之前,有两项发展值得一提:
- 夏普PA-8500(1988年10月)。 最早已知符合现代「emoji」定义的图形字符集,出现在一款日本电子记事本上。该设备携带102个16×16像素的图形字符,比栗田的字符集早了整整十年。2024年,研究人员找到存世设备后,Emojipedia对这一再发现进行了报道。
- J-Phone DP-211SW(1997年)。 栗田本人在2019年1月的一篇社交媒体帖子中承认,第一款内置表情符号集的手机并非来自DoCoMo。他指出的是J-Phone的DP-211SW,该设备在1997年前后携带了约90个单色图形字符。软银后来收购了J-Phone,这也是为什么苹果在日本推出第一批表情符号时(见下文),专门面向软银SIM卡用户。
- 栗田穣崇的NTT DoCoMo i-mode字符集(1998-1999年)。 栗田主导设计了一套176个表情符号的字符集,绘制在12×12像素网格上:每个字形约18字节,完整字符集约三千字节,这是NTT DoCoMo于1999年2月推出的带宽受限i-mode平台的关键约束。他的灵感来源于日本漫画符号(manpu)、天气图标、汉字和路牌。2016年,纽约现代艺术博物馆(MoMA)将栗田的原版176个表情符号字符集收入永久设计馆藏。
表情符号如何传播到世界其他地方
在栗田字符集问世后的十年里,表情符号始终是日本运营商的专属现象,当时存在三套相互竞争且不兼容的厂商字符集(DoCoMo、KDDI、软银)。全球化的突破分三个阶段发生:
- 2008年11月21日,iPhone OS 2.2。 苹果发布了Apple Color Emoji的第一个版本(发布时共471个字形)。该键盘被官方限制为日本软银SIM卡用户使用。Apple Color Emoji被广泛认为是任何主流操作系统中首次内置的彩色字体。
- 2011年10月12日,iOS 5。 苹果在全球范围内发布iOS 5,表情符号键盘首次可由任何人在任何地方通过设置菜单启用。大多数历史学家将此视为表情符号全球普及的起点。
- 2013年10月31日,Android 4.4 KitKat。 谷歌第一个支持全彩色表情符号并内置表情符号键盘的版本。KitKat字符集包含约850个表情符号,并引入了谷歌标志性的「圆球」风格设计(自Android 8 Oreo起已替换为今天更为常规的圆形设计)。
Unicode联盟的标准化工作同步推进。2010年10月,Unicode 6.0 是标准首次将表情符号纳入官方认可集合的版本,从日本运营商字符集的并集中贡献了约722个表情符号。2014年8月,Unicode技术报告#51(Unicode Technical Report #51)发布(后于2017年5月升级为UTS #51),这是表情符号如何编码、排序和呈现的正式规范。
为什么大多数表情符号码位位于U+FFFF以上
Unicode将所有字符组织到17个「平面」中,每个平面包含65,536个码位。第0平面是基本多文种平面(BMP),范围为 U+0000 至 U+FFFF。大多数日常书写语言都位于此平面。第1-16平面是补充平面(非正式称为「星体平面」),范围为 U+10000 至 U+10FFFF。绝大多数表情符号位于第1平面,即补充多文种平面,具体分布在以下区块:表情符号块(U+1F600-U+1F64F)、杂项符号与象形文字块(U+1F300-U+1F5FF)、交通与地图符号块(U+1F680-U+1F6FF)以及补充符号与象形文字块(U+1F900-U+1F9FF)。较新的符号与象形文字扩展-A区块位于 U+1FA70-U+1FAFF。
这对开发者来说至关重要,原因在于UTF-16。UTF-16将BMP码位编码为单个16位单元,但补充码位必须编码为代理对:两个16位单元,一个来自高代理范围 U+D800-U+DBFF,一个来自低代理范围 U+DC00-U+DFFF。JavaScript的字符串类型内部采用UTF-16,这就是为什么 "😀".length 返回 2 而非1:引擎计算的是码元数,而非码位数。现代JS代码使用 Array.from("😀").length 或 Intl.Segmenter API来正确计算字素簇的数量。
UTF-8对相同表情符号的处理方式是4字节序列。字符😀(U+1F600)在UTF-8中的编码为 F0 9F 98 80。这就是为什么MySQL较旧的 utf8 字符集(实为 utf8mb3,上限为3字节序列)无法存储表情符号,需要使用 utf8mb4。MySQL 8.0已将 utf8mb4 设为默认值,但遗留数据库仍无法存储表情符号,并会根据SQL模式静默截断或报错。这是一个频繁出现的现实漏洞。
变体选择符:为什么同一颗心形可以显示为黑色或红色
少数Unicode字符具有「双重属性」:根据上下文,它们既可以显示为纯色文本符号,也可以显示为彩色表情符号。两个呈现选择符在Unicode 3.2(2002年3月)中被加入:U+FE0F(变体选择符-16,VS16)请求表情符号呈现,U+FE0E(VS15)请求文本呈现。示例:❤(U+2764,「Heavy Black Heart」)是文本默认符号;❤️(U+2764 U+FE0F)则是大多数应用以彩色渲染的红心表情符号。相同的码位加与不加VS16,外观截然不同。
一个著名的相关示例是太阳。U+2600「Black Sun With Rays」默认为文本风格的单色符号;添加VS16(U+2600 U+FE0F)则变为彩色的☀️。相比之下,U+1F31E「Sun With Face」是Unicode 6.0(2010年10月)中新增的独立码位,默认呈现为表情符号,无需任何选择符即可渲染为微笑的🌞。这是两个不同的码位、两段不同的历史,却都被非正式地称为「太阳表情符号」。
肤色修饰符与菲茨帕特里克量表
在Unicode 8.0(2015年6月17日发布)中,标准新增了五个修饰符字符,用于调整任何人形表情符号的肤色。这些修饰符基于菲茨帕特里克量表(Fitzpatrick scale),该量表由美国皮肤科医生托马斯·B·菲茨帕特里克(Thomas B. Fitzpatrick)于1975年在哈佛大学开发。医学量表共有六种类型(I至VI)。在表情符号中,I型和II型被合并为一个修饰符,最终形成五个表情符号修饰符:
U+1F3FB浅肤色(菲茨帕特里克I-II)U+1F3FC中浅肤色(菲茨帕特里克III)U+1F3FD中等肤色(菲茨帕特里克IV)U+1F3FE中深肤色(菲茨帕特里克V)U+1F3FF深肤色(菲茨帕特里克VI)
用法是位置性的:修饰符紧跟在支持的人形表情符号之后。例如,👋(U+1F44B,挥手)+U+1F3FD 产生 👋🏽,即中等肤色的挥手。如果接收方的字体不支持特定的「基础符号+修饰符」组合,修饰符会渲染为单独的棕色方块,这是在旧系统上常见的失败模式。
零宽连接符序列:复合表情符号的构成方式
零宽连接符(Zero-Width Joiner),码位为 U+200D,是让多个表情符号在渲染器识别该序列时合并为一个复合字形的「胶水」字符。ZWJ是不可见的,没有宽度,其存在完全是为了向渲染引擎发出信号,使周围的字符融合在一起。有三种主要模式:
- 家庭序列。 家庭表情符号如👨👩👧👦(「family: man, woman, girl, boy」)被编码为
U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466:四个人物表情符号由ZWJ分隔。如果接收设备没有特定的复合字形,回退方式是并排显示每个组成部分。这是跨平台表情符号渲染中最常见的可见故障之一。 - 职业与角色序列。 👩💻(「woman technologist」)的编码为
U+1F469 U+200D U+1F4BB:女性+ZWJ+笔记本电脑。当前Unicode中大多数职业类表情符号都是通过这种方式构建的,从而避免了为每一种职业和肤色组合单独设立码位。 - 身份与骄傲序列。 彩虹旗🏳️🌈的编码为
U+1F3F3 U+FE0F U+200D U+1F308:带VS16的白旗+ZWJ+彩虹。
在Unicode 15.1(2023年9月12日发布)中被大量使用:15.1新增了118个表情符号,其中108个是现有表情符号的方向变体(人物朝右而非默认朝左)。关键在于,15.1未新增任何基础码位:所有新表情符号都是由现有组件构建的序列。
键帽、地区指示符与国旗机制
键帽序列。 键帽表情符号如1️⃣由三个码位构成:一个数字字符(U+0031 = 「1」)、VS16(U+FE0F)以及组合包围键帽字符 U+20E3。组合键帽于1999年Unicode 3.0中获得批准。完整的键帽表情符号集涵盖0至9加上 # 和 *。这个三字符序列经常让朴素的 .length 检查出错。
地区指示符对(国旗)。 Unicode并不将国旗编码为单个字符。相反,它定义了26个地区指示符号,码位为 U+1F1E6 至 U+1F1FF,各自对应拉丁字母A至Z。一个国旗是一对地区指示符的组合,拼写出一个ISO 3166-1 alpha-2国家代码。法国国旗🇫🇷的编码为 U+1F1EB U+1F1F7:地区指示字母F和R。在26×26=676种可能的组合中,只有约270种对应有效的ISO国家代码;其余组合在大多数平台上会显示为两个字母符号。
近期表情符号版本概览
- Unicode 15.0,2022年9月13日发布。新增31个表情符号,包括粉红心🩷、浅蓝心🩵、灰心🩶、推手🫷🫸、颤动的脸🫨、水母🪼、驼鹿🫎、驴🫏、生姜根🫚。
- Unicode 15.1,2023年9月12日发布。新增118个表情符号,均为ZWJ序列而非新基础码位。其中108个为方向变体;其余包括凤凰🐦🔥、青柠🍋🟩、可食用棕色蘑菇🍄🟫和断链⛓️💥。
- Unicode 16.0,2024年9月10日发布。新增8个表情符号:眼袋脸(
U+1FAE9)、指纹(U+1FAC6)、泼溅(U+1FADF)、根茎蔬菜(U+1FADC)、无叶树(U+1FABE)、竖琴(U+1FA89)、铲子(U+1FA8F)以及萨克旗🇨🇶。注意:新面孔的官方名称是「眼袋脸」,而非「打哈欠的脸」(打哈欠表情符号🥱U+1F971于2019年在Unicode 12.0中新增,两者并无关联)。 - Unicode 17.0,2025年9月9日发布。新增7个码位表情符号:扭曲脸、打架云、毛茸茸生物(非正式称为大脚怪)、虎鲸、山体滑坡、长号和宝箱。另加156个衍生的肤色和性别变体,使17.0中新增表情符号总数达到163个。大多数主要厂商计划在2026年上半年推出;微软通常还会再滞后一两个季度。
厂商字形设计:相同码位,不同画风
Unicode标准化的是含义和码位,从不标准化字形设计。每个平台都有自己的表情符号字体,视觉差异真实存在,已有学术研究记录了由此导致的误解(赫希特等人,CSCW 2018,关于跨平台表情符号误解)。主要字体如下:
- Apple Color Emoji 搭载于iOS、iPadOS、macOS和tvOS。2008年11月首次搭载471个字形;截至2021年9月已扩展至3,633个以上。属于专有字体,在苹果平台以外不得合法再发行。
- Noto Color Emoji(谷歌)搭载于Android(自2013年10月Android 4.4 KitKat起)、ChromeOS和Gmail。遵循SIL开源字体许可证开源发布。
- Segoe UI Emoji(微软)搭载于Windows 8.1及更高版本。2021年在Microsoft 365中进行的Fluent Emoji更新引入了3D风格设计。
- One UI Emoji(三星)搭载于Galaxy手机,与谷歌的Noto有所不同,尽管Android默认使用Noto。
- Twemoji 由Twitter于2014年11月6日以874个SVG设计开源发布(代码采用MIT许可,图形采用CC-BY 4.0许可)。由于X品牌重塑,原始Twitter代码库此后缺乏积极维护;社区分支(尤其是
jdecked/twemoji)承担了这一工作。
当设备字体没有某个码位或序列的字形时,浏览器和操作系统会显示一个空白矩形,通常称为豆腐块(tofu)。豆腐块是接收方设备比发送方更旧的最明显信号。新增的表情符号通常需要六到十八个月才能从Unicode发布传播到所有主要平台。
无障碍访问:内容作者须知
现代屏幕阅读器(NVDA、JAWS、VoiceOver、TalkBack)会读出Unicode通用区域设置数据存储库(CLDR)为每个表情符号提供的CLDR短名称,例如😀读作「grinning face」,👨👩👧👦读作「family: man, woman, girl, boy」。Unicode CLDR以90余种语言维护官方短名称和关键词,这正是苹果和微软平台上所有主流屏幕阅读器所使用的内容。WCAG技术规范H86建议将有意义的表情符号包裹在 <span role="img" aria-label="thumbs up">👍</span> 中;装饰性表情符号应使用 aria-hidden="true" 进行隐藏。三个常见陷阱:重复的表情符号会变得啰嗦(😂😂😂😂😂会被读成五次「face with tears of joy」);文本风格的颜文字(:))读作「colon close-paren」,没有Unicode短名称;肤色修饰符会被大声读出(👋🏽被读为「waving hand: medium skin tone」,信息是准确的,但耗时更长)。
Emojipedia与文化基础设施
Emojipedia 由杰里米·伯奇(Jeremy Burge)于2013年创立,这位澳大利亚设计师在一次生日晚餐后心血来潮注册了这个域名。如今它已成为表情符号含义、厂商设计和版本报道的事实权威网站,2021年约产生5.9亿次页面浏览。伯奇曾任Unicode表情符号小组委员会委员,并担任Emojipedia的「首席表情符号官」直至2022年,同时创立了世界表情符号日(7月17日):这一日期的选取,是因为苹果日历表情符号📅显示的日期是7月17日,而这一天本身是苹果iCal在2002年Macworld Expo发布会上的原始发布日期。Emojipedia于2021年8月被Zedge, Inc.(纽约证券交易所股票代码:ZDGE)收购,继续以同一品牌运营。负责评估新表情符号提案的Unicode表情符号小组委员会,目前由前谷歌设计负责人詹妮弗·丹尼尔(Jennifer Daniel)主持,她是该委员会首位女性主席。
快速参考数据
- 3,953:Unicode 17.0(2025年9月)的表情符号总数
- 176:栗田的i-mode原版字符集(1999年)
- 102:夏普PA-8500上的图形字符数(1988年)
- 12×12:栗田i-mode表情符号的像素网格
- 5:肤色修饰符数量(菲茨帕特里克I和II合并)
U+200D:零宽连接符U+FE0F/U+FE0E:表情符号/文本呈现选择符U+20E3:组合包围键帽U+1F1E6至U+1F1FF:地区指示字母A-Z,用于构建国旗对F0 9F 98 80:U+1F600(😀)的UTF-8字节- 7月17日:世界表情符号日
- 2008年11月21日:iPhone OS 2.2,首个彩色表情符号字体
- 2011年10月12日:iOS 5,表情符号键盘向全球开放
- 2010年10月:Unicode 6.0,首个内置表情符号的标准版本
- 2015年6月17日:Unicode 8.0,新增肤色修饰符