[英]Getting weird characters when converting NSArray to JSON
将包含NSDictionaries的NSArray转换为JSON字符串时,我会收到一些奇怪的字符。 我尝试使用SBJson和NSJSONSerialization同样的结果。
NSDictionary填充了地址簿的内容,包括联系人姓名,电子邮件和电话号码,大部分都是希伯来语。
字符看起来像这样:
\\ 327 \\ 237
我找不到任何关于此的信息,帮助任何人?
提前致谢!
编辑*
这是JSON的片段:
[
{"fname":"סתם טקסט"},
{"fname":"סתם טקסט"},
{"fname":"נ\327\231ר"}
]
它应该是:[{“fname”:“סתםטקסט”},{“fname”:“סתםטקסט”},{“fname”:“ניר”}]
我使用以下代码获取JSON:
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:ContactsArray options:NSJSONReadingMutableLeaves error:&err];
NSLog(@"JSON: %@", [NSString stringWithUTF8String:[jsonData bytes]]);
这些字符是八进制转义码。 我更喜欢看十六进制的东西。 \\327
和\\237
是十六进制的0xD7
和0x9F
。
我U+00D7
了U+00D7
和U+009F
(unicode字符)。 它们是MULTIPLICATION SIGN和APPLICATION PROGRAM COMMAND。 在这种情况下这没有意义,所以直接转换不是要走的路。
接下来,我想到了UTF-8编码。 D7 9F
解码为U+05DF
。 这是希伯来语最后的证书。 这在这方面是有道理的。
所以,我猜你在UTF-8字符中看到的数据是不理解的,八进制转义。 JSON不支持八进制转义,所以我猜它是NSLog()
或者你用来打印正在进行转义的JSON的任何东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.