NSString是非常友好的unicode.所以通常当我想创建一个包含unicode的字符串时,我可以将它直接弹出到字符串文字中,如下所示:
NSString *myString = @"Press ?Q to quit…";
Run Code Online (Sandbox Code Playgroud)
但这不适用于使用行分隔符(AKA:
NSLineSeparatorCharacter,Unicode U + 2028,UTF-8 E2 80 A8).编译器(正确地)将其解释为换行符,这是C语法中的禁忌.
-stringWithFormat:也没有帮助.试
NSString *myString = [NSString stringWithFormat@"This is%don two lines…", NSLineSeparatorCharacter];
Run Code Online (Sandbox Code Playgroud)
给了我一个字符串"This is8232on two lines ......".
结果-stringWithFormat:是正确的方法.我只需要用%C替换代替%d.NSLineSeparatorCharacter是一个枚举(因而是整数),所以编译器认为%d是我应该使用的.但是%CCocoa是插入unichar类型的方式.有点铸造......
NSLog(@"This is%Con two lines…", (unichar)NSLineSeparatorCharacter);
Run Code Online (Sandbox Code Playgroud)
奇迹般有效!
另请注意Ken的评论如下:您可以使用转义序列将字符直接嵌入到字符串文字中:
@"This is\u2028on two lines…"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
644 次 |
| 最近记录: |