"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 转义序列不能用于单独编码代理代码点(0xD800
和 0xDFFF
之间的代码点),您必须指定实际的补充代码点:
NSString *str = @"\U0001F44D";
在写iOS字符串文字时,遇到了一个奇怪的问题。它是 Invaild universal character.The 以下代码:
NSString *str = @"\ud83d\udc4d"; // Prompt error: Invaild universal character
但是,下面的代码是可以的:
NSString *str = @"\u2614\ufe0f";
为什么?
另外我发现只要是\ud8xx,\ud9xx,\udexx,\udfxx格式错误。
这是什么原因?
Unicode 转义序列不能用于单独编码代理代码点(0xD800
和 0xDFFF
之间的代码点),您必须指定实际的补充代码点:
NSString *str = @"\U0001F44D";