区域指示符(Regional Indicator Symbols)是 Unicode 标准中一组特殊的 26 个字符,分别对应英文字母 A 到 Z。它们用于对 ISO 3166-1 标准中的二位字母国家或地区代码进行编码,并通过组合来代表特定的地理区域。
在 Emoji 中,区域指示符被用于表示国家或地区的旗帜。如 🇨🇳(CN)、🇺🇸(US)。
基本信息
| 属性 | 值 |
|---|---|
| Unicode 区块 | 带圈字母数字补充(Enclosed Alphanumeric Supplement) |
| 平面 | 第一辅助平面(SMP) |
| 起始码位 | U+1F1E6 🇦 (REGIONAL INDICATOR SYMBOL LETTER A) |
| 结束码位 | U+1F1FF 🇿 (REGIONAL INDICATOR SYMBOL LETTER Z) |
| 引入版本 | Unicode 6.0(2010年) |
历史背景
Unicode 6.0 版本引入区域指示符,旨在为各国旗帜提供一种统一且高效的 Emoji 表示方法,避免为每一面旗帜单独分配码位。正如 Unicode 官方 FAQ 所述:“国家与地区的旗帜不会在 Unicode 中直接编码到单独的码位上去,而应当以此法编码。”
工作原理
通过将两个区域指示符依次排列,即可组成一个代表国家或地区的代码序列。支持该功能的系统会将其渲染为对应的旗帜图案,不支持的系统则可能回退显示为两个字母代码。
示例:
U+1F1E8(C) +U+1F1F3(N) = 🇨🇳 (中国)U+1F1FA(U) +U+1F1F8(S) = 🇺🇸 (美国)
合法组合
理论上,26 个字母可组成 676 种双字母组合,但其中只有部分被认定为合法的区域代码。这些合法序列源自通用当地数据存储库(CLDR),具体包括:
- 常规地区代码:CLDR 中收录的 256 个标准序列。
- 宏观区域代码:如
EU(欧盟)和UN(联合国)。 - 已弃用代码:12 个为保持向前兼容性而保留的已弃用序列。
这些合法的组合序列被称为 Emoji 旗帜序列(Emoji Flag Sequence)。尽管其编码本质是地理区域,但在实际应用中,它们被广泛用于显示对应国家或地区的旗帜。