【问题标题】:Unicode characters in string - iphone字符串中的 Unicode 字符 - iphone
【发布时间】:2019-06-13 22:57:15
【问题描述】:

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

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

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⁹

这也有效:

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 前面添加一个额外的字符才能使其识别?

感谢您的帮助!

【问题讨论】:

    标签: iphone nsstring superscript


    【解决方案1】:

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

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

    ⁰
    

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

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

    【讨论】:

    • @ObjectiveFlash 我已经用更多信息澄清了我的答案。
    • @occulus 非常感谢您在 plist 文件中以这种方式编写 unicode 的技巧!
    猜你喜欢
    • 2012-07-26
    • 2019-04-09
    • 2019-05-12
    • 2011-11-12
    • 2017-11-19
    • 2023-04-09
    • 2016-08-29
    相关资源
    最近更新 更多