EmoArt
发布
术语表

什么是 Unicode

最近更新: 2026-05-24·约 4 分钟

本文约 4 分钟读完。

Unicode 是用一套统一的编号体系来表示全世界文字的国际标准,emoji 也是这个标准的一部分。日语、英语、阿拉伯语、emoji、数学符号 - 通过为所有「文字」分配唯一的编号 (码位), 使得不同语言和系统之间能够正确地交换文本。

定义与目的

Unicode 是由 Unicode Consortium (非营利组织) 制定和管理的字符编码标准。 从 1991 年的 Unicode 1.0 开始,到 2024 年的 Unicode 16.0 已收录超过 15 万个字符。

在 Unicode 出现之前,日语使用 Shift_JIS 或 EUC-JP,中文使用 GB2312,韩语使用 EUC-KR, 每种语言都有不同的字符编码。 这正是「乱码」的主要原因,Unicode 就是为了从根本上解决这个问题而诞生的。

什么是码位

在 Unicode 中,每个字符被分配一个称为「码位」的唯一编号。 表示方式为 U+ 后跟十六进制数,例如:

  • A → U+0041
  • あ → U+3042
  • 😊 → U+1F60A
  • 🌸 → U+1F338

码位就像「字符的地址」,在任何系统中,同一个编号都指向同一个字符。

编码 - UTF-8 与 UTF-16

将码位保存到计算机内存或文件中的方法称为「编码」。 主要有两种编码方式。

比较项目UTF-8UTF-16
每个字符的字节数1 至 4 字节 (可变长)2 或 4 字节
ASCII 兼容有 (英文数字为 1 字节)
主要用途Web、文件存储、APIWindows 内部、Java、JavaScript
emoji 的字节数4 字节4 字节 (代理对)

在 Web 世界中,UTF-8 是事实上的标准。 HTML 文件中的 <meta charset="utf-8"> 就是在声明「本页面使用 UTF-8 编码」。

Unicode 与 emoji 的关系

emoji 作为 Unicode 的一个「区块」被收录其中。 主要分布在以下区块:

  • Emoticons (U+1F600 至 U+1F64F): 面部表情
  • Miscellaneous Symbols and Pictographs (U+1F300 至 U+1F5FF): 天气、食物、动物等
  • Transport and Map Symbols (U+1F680 至 U+1F6FF): 交通工具、建筑
  • Supplemental Symbols and Pictographs (U+1F900 至 U+1F9FF): 补充 emoji

新 emoji 的添加由 Unicode Consortium 的 Emoji Subcommittee 审核,每年发布一次。

什么是 Unicode Consortium

Unicode Consortium 是总部位于加利福尼亚州的非营利组织。 Apple、Google、Microsoft、Meta、Amazon 等大型科技公司作为成员参与其中, 为标准的制定和维护做出贡献。 任何人都可以提交 emoji 提案,审核过程是公开的。

实务注意事项

  • 字符计数: 一个 emoji 在 JavaScript 的 .length 中可能被计为 2 (代理对)
  • 数据库: 在 MySQL 中存储 emoji 需要使用 utf8mb4 (普通的 utf8 只支持 3 字节)
  • URL: 在 URL 中包含 emoji 时需要进行百分号编码

相关术语

这篇文章对你有帮助吗?