← 返回博客

Emoji背后的技术:Unicode编码与Emoji发展史

2026年2月 · 阅读时间 4分钟

每天我们发送数十亿个Emoji,但你知道😀背后是怎么工作的吗?一个笑脸是如何从你的手机传到对方屏幕上的?

Emoji的起源

Emoji(絵文字)起源于1999年日本,由NTT DoCoMo的栗田穣崇设计了最初的176个Emoji。2010年,Unicode 6.0正式收录Emoji,从此Emoji成为全球标准。

Emoji是怎么工作的?

Emoji本质上就是Unicode字符,和字母"A"(U+0041)没有区别:

😀 → U+1F600 (Grinning Face)

❤️ → U+2764 + U+FE0F (Red Heart)

👨‍💻 → U+1F468 + U+200D + U+1F4BB (Man Technologist)

🇨🇳 → U+1F1E8 + U+1F1F3 (Flag: China)

为什么同一个Emoji在不同平台长得不一样?

Unicode只定义了Emoji的名称和含义,不规定外观。每个平台(Apple、Google、Microsoft、Samsung)自己设计Emoji的样式。

⚠️ 这可能导致误解!同一个Emoji在不同平台上的表情可能差异很大。

比如🔫在Apple上是水枪,在某些平台上曾经是真枪。

Emoji的组合技术

开发中使用Emoji的注意事项

✅ 数据库使用 utf8mb4 编码(MySQL的utf8不支持4字节Emoji)

✅ 字符串长度计算要注意:一个Emoji可能占2-7个UTF-16码元

✅ JavaScript中用 Array.from() 正确分割含Emoji的字符串

✅ 正则匹配Emoji用 Unicode属性:/\p{Emoji}/u

❌ 不要用 string.length 计算含Emoji的字符数

Emoji数量

截至Unicode 16.0(2024年),共有3,790个Emoji。每年Unicode联盟都会审核新Emoji提案并发布更新。

在线Emoji工具

需要快速找到合适的Emoji?试试我们的 Emoji搜索工具,按关键词搜索,一键复制使用。

更多工具请访问 www.cyunyun.com