Unicode 标准中正确的表情符号列表是什么?

Nem*_*vic 2 unicode emoji

我试图找到 Unicode 标准定义的表情符号代码点的官方列表,但遇到了一些相互冲突的来源:根据emoji-data.txt,甚至数字都是表情符号;unicode.org 上的其他来源建议仅该列表的一个子集是表情符号,例如表情符号图表表情符号测试文件。Unicode 技术报告 #51 中甚至有一个名为“ 哪些字符是表情符号”的部分,但它并没有真正回答我的问题,或者至少我在那里看不到它。

那么,哪些 Unicode 代码点是表情符号呢?

一二三*_*一二三 5

并非所有表情符号字形都是从单个 Unicode 代码点创建的。有些字符只有在组合成“表情符号序列”时才会出现表情符号外观。这使得仅通过代码点来计算表情符号字符变得很困难。这是UTR #51 中的第 3 节 试图传达的内容,但可以通过一些示例进行改进:

\n\n
    \n
  • U+0031U+FE0F U+20E3为 1,但与1\xef\xb8\x8f\xe2\x83\xa3组合时呈现表情符号外观(或与U+FE0E U+20E31\xef\xb8\x8e\xe2\x83\xa3 组合时呈现普通外观)。
  • \n
  • U+1F170是 ,但与 : \xef\xb8\x8f 组合时呈现表情符号外观U+FE0F
  • \n
  • U+2620U+FE0F是 \xe2\x98\xa0\xef\xb8\x8e,但与\xe2\x98\xa0\xef\xb8\x8f组合时呈现表情符号外观。
  • \n
  • (一般来说,U+FE0F 变体序列用于将许多现有字符转换为相应的表情符号序列,而无需将它们编码为单独的代码点。)
  • \n
  • 区域指示符号仅在形成国家/地区代码时才显示为表情符号:U+1F1E6 U+1F1F6,但不是U+1F1E6 U+1F1F5
  • \n
\n\n

emoji-data.txt文件列出了具有Emoji=Yes字符属性的所有字符。这些都是基本字符(例如 1, , \xe2\x98\xa0\xef\xb8\x8e, , , ),它们至少可以启动表情符号序列,即使它们本身不是完整的序列。该emoji-test.txt文件列出了所有完整的表情符号序列。

\n