零宽连接符(Zero Width Joiner,简称 ZWJ)是一个不可见的控制字符,本身不占用任何显示宽度。其核心功能是将两个或多个独立的字符连接为一个单一的字型。在现代文本系统中,它最主要且广泛的应用是构建 Emoji ZWJ 序列,通过连接多个基础 Emoji 来创建新的复合 Emoji。
基本信息
| 属性 | 值 |
|---|---|
| Unicode 码位 | U+200D |
| 字符名称 | ZERO WIDTH JOINER |
| HTML 实体 | ‍ 或 ‍ |
| JavaScript 转义 | \u200D |
设计初衷
Unicode 的设计哲学倾向于使用组合序列而非为每个变体分配独立码位,以防止码位空间爆炸并保持可扩展性。ZWJ 正是实现这一组合模型的关键“胶水”。
在 Emoji 中的应用
通过 ZWJ 连接多个独立 Emoji,可以生成一个在语义和视觉上均为整体的新 Emoji。若平台支持该序列,则渲染为单一图形;若不支持,则回退显示为独立的多个字符。
| 复合 Emoji | 组合序列 | 说明 |
|---|---|---|
| 🫱🫲 | 🫱 + ZWJ + 🫲 |
左手 + 右手 = 握手 |
| 👨💻 | 👨 + ZWJ + 💻 |
男性 + 电脑 = 男技术人员 |
| 🏳️🌈 | 🏳️ + ZWJ + 🌈 |
白旗 + 彩虹 = 彩虹旗 |