如何从 Unicode 网站获取 Unicode 表情符号的完整列表

bar*_*dog 6 unicode emoji

我正在构建一个需要使用表情符号的应用程序,特别是生成大量随机表情符号序列。这需要有一个很大的列表可供选择。我决定采用不同的方法,从Unicode 网站下载和解析数据,而不是采用此处详细介绍的循环硬编码十六进制范围的方法。从那里,我进行一些代码生成,并将所有独特的表情符号写入磁盘,然后我可以在我的应用程序中获取它们。所有这些都是作为我的应用程序的手动步骤或构建步骤发生的。

然而,Unicode 规范很复杂,我不确定应该从哪些数据中提取来建立一个明确的列表。最新版本的Unicode(14.0)下有三个文件:

Unicode 字符数据库 (UCD) 中还有两个文件:

所有这些列表之间肯定存在重复项,例如,虽然我可以下载并解析所有五个文件并将列表减少到脚本中的唯一实例,但我希望使我的脚本尽可能简单,而不做不必要的工作。

据我了解:

  • emoji-test.txt 是一组表情符号字符,就像您在键盘中看到的那样,按类别分组
  • emoji-sequences.txt 是表情符号范围、单个表情符号和多字符表情符号(例如 ( 1F1E6 1F1E8))或与变体选择器组合的表情符号(例如FE0F
  • emoji-zwj-sequences.txt 是由零宽度连接符连接的表情符号列表
  • emoji-variation-sequences 是表情符号列表,可以以文本形式或表情符号形式呈现
  • emoji-data.txt 似乎是一个非常全面的列表,不仅包含表情符号,还包含表情符号修饰符等

所有这些让我相当困惑,哪个列表或列表组合会给我最全面的表情符号列表。emoji-data.txt似乎有一个最广泛的列表,但我不想要表情符号修饰符或表情符号组件之类的东西;我只是在寻找用户可以使用键盘选择的表情符号(例如,您不能单独选择肤色修改器)。

哪些列表或列表组合可以生成我可以在应用程序中使用的最全面、最广泛的表情符号列表?

Pet*_*ble 1

使用 emoji-sequences.txt 和 emoji-zwj-sequences.txt 的并集。该组包含推荐用于一般交换的表情符号。请参阅https://www.unicode.org/reports/tr51/tr51-19.html#def_rgi_set