区域指示符

区域指示符(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)。尽管其编码本质是地理区域,但在实际应用中,它们被广泛用于显示对应国家或地区的旗帜。