我正在尝试从plist文件中读取一些文本并将其显示给警告框中的用户。
当我使用此代码构建字符串时,一切正常(用户看到带有笑脸图标的Hello):
NSString *hello = @"Hello \ue415";
但是当我从plist获取字符串时,使用此代码,使用看到“Hello \ ue415”:
NString *hello = (NSString *)[pageLiteratureDic objectForKey:litratureKey];
我必须对字符串进行不同的编码吗?任何帮助或指示将非常感谢...每个人都喜欢emojis;)
答案 0 :(得分:2)
你不应该在plist文件中输入“\ ue415”作为文本。 \ u ....是C语言中字符串和字符语法中的转义序列。字符串本身不包含反斜杠和“u”等等,它只包含1个字符,即代码点0xe415处的Unicode字符。如果你想在plist中保存它,你必须自己手动输入那个Unicode字符,确保使用plist所需的任何编码(可能是utf-8或utf-16,不确定)。或者,您可以编写一个程序,从该字符串创建一个plist,然后将该plist文件中的任何内容复制并粘贴到您的文件中。
答案 1 :(得分:0)
在plist中,而不是“Hello \ ue415”尝试显式使用smily face字符,如“Hello :)”。只需将微笑字符剪切并粘贴到unicode代码上即可。阅读plist可能是逃避反斜杠并将解释停止为unicode角色。