如何使用Unicode字符作为变量名称而没有多余的变体选择器字形?

时间:2015-12-15 05:19:47

标签: xcode swift unicode emoji

当我在Swift(XCode 7.2)中使用表情符号作为变量名进行测试时,我遇到的主要问题是只有一些表情符号有效。我已经确定这是因为某些表情符号包含其基本的Unicode代码点,后跟“变体选择器”。

有没有办法在我的源代码中插入字符而不会出现不可打印的变体选择器并且破坏我的代码?

这似乎主要是Apple的Unicode实现的错误,其中使用字符选择窗格插入♣️为俱乐部插入代码点,然后使用变体选择器“使用表情符号版本,而不是纯文本样式”。插入♣会注入Clubs代码点和“使用文本样式”选择器。

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

1 个答案:

答案 0 :(得分:1)

您可以使用" Unicode十六进制输入"输入单个代码点。 Mac OS X附带的输入源。请参阅this guide以启用和使用它。

通常,您可能希望避免使用非ASCII标识符,原因与您提到的完全相同。还有许多其他示例,其中非ASCII标识符可能会导致问题,并且它们几乎没有任何实际好处。