如何在没有无关变体选择器字形的情况下使用 Unicode 字符作为变量名?

How to use Unicode characters as variable names without extraneous variant selector glyphs?

当我在 Swift (XCode 7.2) 中测试使用表情符号作为变量名时,我遇到了主要问题,因为只有一些表情符号可以工作。我确定这是因为某些表情符号包含其基本 Unicode 代码点,后跟 "variation selector".

有没有一种方法可以在我的源代码中插入字符,而不会出现无法打印的变体选择器并破坏我的代码?

这似乎主要是 Apple 实施 Unicode 的错误,其中使用字符选择窗格插入 ♣️ 插入 Clubs 的代码点,然后是 "use the emoji version, not the plain text style" 的变体选择器。插入 ♣ 会同时注入 Clubs 代码点和 "use the text-style" 选择器。

如果没有,是否有避免在变量名中使用的字符列表?到目前为止,我发现任何涉及卡片套装的问题,以及 Apple 为肤色选择启用的任何类人表情符号。

您可以使用 Mac OS X 随附的 "Unicode Hex Input" 输入源输入单个代码点。请参阅 this guide 了解如何启用和使用它。

一般来说,您可能希望避免使用非 ASCII 标识符,这正是您提到的原因。还有 许多 其他示例,其中非 ASCII 标识符可能会导致问题,而且它们几乎没有任何实际好处。