"Invaild universal character" 对于 iOS?

"Invaild universal character" for iOS?

在写iOS字符串文字时,遇到了一个奇怪的问题。它是 Invaild universal character.The 以下代码:

NSString *str = @"\ud83d\udc4d"; // Prompt error: Invaild universal character

但是,下面的代码是可以的:

NSString *str = @"\u2614\ufe0f"; 

为什么?

另外我发现只要是\ud8xx,\ud9xx,\udexx,\udfxx格式错误。

这是什么原因?

Unicode 转义序列不能用于单独编码代理代码点(0xD8000xDFFF 之间的代码点),您必须指定实际的补充代码点:

NSString *str = @"\U0001F44D";