10

我正在开发一个数学应用程序,需要将指数输出到屏幕上。

我发现这段代码可以工作:

NSLog(@"x\u2070 x\u00B9 x\u00B2 x\u00B3 x\u2074 x\u2075 x\u2076 x\u2077 x\u2078 x\u2079");

它显示:x⁰ x¹ x² x³ x⁴ x⁵ x⁶ x⁷ x⁸ x⁹</p>

这也有效:

NSString *testString = @"8.33x10\u00B3";
NSLog(@"test string: %@", testString);

它显示:测试字符串:8.33x10³

即使将其设置为标签也能在 iPhone 屏幕上正确显示:

NSString *testString = @"8.33x10\u00B3";
Answer1Label.text = testString;

但是,当我从显示“8.33x10\u00B3”的 .plist 中提取字符串并将其显示在屏幕上时,它只显示为“8.33x10\u00B3”而不是 8.33x10³

我需要在 \u00B3 前面添加一个额外的字符才能使其识别吗?

谢谢你的帮助!

4

1 回答 1

22

\uXXXX 在编译时被转换为 unicode,所以你不会期望它会通过读取 .plist 来神奇地转换。

尝试在 Xcode 中以“文本模式”打开 plist 文件(右键单击您的 plist 文件,打开为 -> 计划文本文件),然后使用表单文本编辑所需的字符串以包含特殊字符:

&#x2070;

而不是您通常\u2070在代码中使用的。然后,如果您保存 plist,将其关闭,然后通过双击再次打开它,您将看到通常的 plist 编辑器视图,其中将包含您的特殊字符。

或者,考虑使用 OS X 的字符查看器(又名字符调色板)将文本直接输入到 Xcode 中的 plist 编辑器中。更多信息。

于 2011-03-14T00:57:25.463 回答