我正在尝试从一个来自plist的数组中读取字符串并打印这些字符串.
数组中的字符串包含转义的UTF8字符 - 例如,"Nu\u0161a Florjan\u010di\u010d"当从plist中读取时,"NušaFlorjančič"变为.无法更改plist的内容,但我的程序需要正确显示名称.
奇怪的是,当我对字符串进行硬编码时,Objective-C似乎会自动执行此操作.但是,如果我从plist中获取字符串,则根本没有任何事情发生.
举个例子,这里有一些代码:
NSString *name1 = @"Nu\u0161a Florjan\u010di\u010d";
NSString *name2 = [list objectAtIndex:0];       
NSLog(@"name 1: %@", name1);
NSLog(@"name 2: %@", name2);
[list objectAtIndex:0]包含@"Nu\u0161a Florjan\u010di\u010d"- 唯一的区别是它是通过plist编辑器设置的.
控制台输出是:
2011-10-22 18:00:02.595 Test[13410:11c03] name 1: Nuša Florjan?i?
2011-10-22 18:00:02.595 Test[13410:11c03] name 2: Nu\u0161a Florjan\u010di\u010d
我已经尝试过各种各样的事情,包括将字符串转换为C字符串,然后NSString使用UTF-8编码创建一个对象,但根本没有任何工作.
我真的很感激你的任何指示,这可能有助于我解决这个看似平凡的问题.
我试图支持来自各种国际用户的任意unicode.他们已经将大量数据放入他们的iPhone上的sqlite数据库,现在我想将数据捕获到数据库中,然后将其发送回他们的设备.现在我正在使用一个从互联网mysql数据库发回数据的php页面.数据正确地保存在mysql数据库中,但是当它被发送回来时,它会以unicode文本形式出现,例如
弗兰克\\\\\\\\\\\\\\\\\\\\\
而不仅仅是
弗兰克的iPad
撇号应该是一个卷曲的撇号.
发布到另一个问题的答案表明,没有内置的Cocoa方法将unicode字符串的"\ u00e2\u0080\u0099"部分从Web服务器转换为NSString对象.它是否正确?
这看起来真的很令人惊讶(并且非常令人失望),因为Cocoa肯定允许来自许多不同Unicode字符的输入,我需要支持我从未听说过的任何语言,以及所有可能的字符.我现在将它们保存到本地sqlite数据库中,但是一旦我将它发送到Web服务器,然后可能会下载不同的数据,我想确保从Web服务器提取的数据格式正确.
我正在尝试使用 python 对我下载的 Instagram 数据进行排序,数据是一个 json 文件,但表情符号和其他非文本字符的编码方式我不明白,例如:
json 文件将包含:
 \u00e2\u009c\u008c\u00f0\u009f\u0096\u00a4\u00f0\u009f\u008d\u0095\u00f0\u009f\u008e\u00b6\u00f0\u009f\u00a4\u00af. 在 Instagram 应用程序上显示的是:
?
或 json: \u00e2\u0080\u0099. Instagram:('撇号)
我尝试使用u"string"并在此处、此处和此处找到了类似的问题,但没有一个是在 python 中的,也没有向我提供任何有用的详细信息。