【发布时间】:2009-05-12 15:07:22
【问题描述】:
我正在开发一个需要显示上标和下标的 iphone 应用程序。我正在使用选择器从 plist 中读取数据,但 unicode 值没有在选择器视图中正确显示。无法识别下标和上标。我假设这是由于 plist 编码为 utf-8,所以问题是如何将 plist 字符串编码从 utf-8 转换为 utf-16?
稍微详细一点:
如果我这样做,它至少会在文本字段中正确显示:
NSString *equation = @"x\u00B2 + y\u00B2 = z\u00B2"
但是,如果我在 plist 中定义相同的字符串并尝试将其读入并将其分配给字符串并将其显示在选择器视图上,它只会显示编码而不是上标。
@Matt:感谢您的建议,正在转义 unicode,即 \u00B2 => \u00B2。谷歌搜索“plists 中的转义值”没有返回有用的结果,而且我无法使用键盘 cmd-ctrl-shift-+ 工作。任何进一步的建议将不胜感激!
【问题讨论】:
-
UTF-8 可以编码 UTF-16 可以编码的任何内容,只是大小可能不同。你确定 plist 实际上是 utf-8 编码的吗?
-
plist 文件是如何创建的?如果尚未完成,我建议在 /Developer/Applications/Utilities 的 Property List Editor 应用程序中编辑有问题的条目,以确保它们作为正确的值进入。换句话说,实际键入它们,不要尝试在其中键入特殊的 Unicode 转义字符,如 \u2026,而是按 Option-;得到…字符等。
-
致 Jason 的评论:你的意思是下标应该在 utf-8 中工作吗?
标签: iphone objective-c unicode utf-8 utf-16