使用unicode字符时,NSString中的通用字符名称错误<

Wil*_*ill 3 unicode objective-c ios

我想在NSString中使用Unicode版本的'<',但编译器会产生错误:

"Character '<' cannot be specified by a universal character name"
Run Code Online (Sandbox Code Playgroud)

我用的时候:

NSString *text = @"Some Text: \u003C"; 
Run Code Online (Sandbox Code Playgroud)

'<'似乎是一个特殊的字符,以及"="和其他一些字符,所以什么是在字符串中插入文字'<'的方法,而不是'<'像这样使用:"some string <"

我没有控制字符串值本身和上面的值作为内联用于演示目的.

Swi*_*ect 9

我不相信编译器错误已得到解决.

为了回应错误:

"Character '<' cannot be specified by a universal character name"
"Universal character name refers to a control character"
Run Code Online (Sandbox Code Playgroud)

您似乎无法\U000000xx对多个2字节ASCII字符使用文字语法,但以下情况除外:

  • \U00000024
  • \U00000040
  • \U00000060
  • \U000000A0\U000000FF

一个简单的解决方法是使用 [NSString stringWithFormat:@"%C", 0x000000xx]

带有'<'字符的示例:

NSString *text = [NSString stringWithFormat:@"Hello %C", 0x003C]";
Run Code Online (Sandbox Code Playgroud)

有关更多选项,请参阅xcode UTF-8文字.