繁体   English   中英

将NSArray转换为JSON时获取奇怪的字符

[英]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是十六进制的0xD70x9F

U+00D7U+00D7U+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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM