在Xcode中用SBJson解析阿拉伯语文本

时间:2012-05-17 22:21:45

标签: objective-c xcode json nsstring arabic

我有一个JSON文件,我试图使用SBJson进行解析。

当我执行

时,我正在接收的响应字符串正确显示阿拉伯字符
NSLog(@"%@",responseString);

但每当我使用SBJson解析器

NSDictionary *myDictionary = [responseString JSONValue];

并尝试

NSLog(@"%@", myDictionary);

我的阿拉伯语角色转变为奇怪的东西:

\U0633\U0627\U0642\U064a\U0629 \U0627\U0644\U0645\U0633\U0643

请任何人帮忙

3 个答案:

答案 0 :(得分:4)

别担心。一切都很好。

\u0633

等同于

س

在C ++中尝试:

std::wstring tStr = L"\u0633";

tStr将等于س

只是NSLog没有转换

答案 1 :(得分:2)

使用它:

NSStringEncoding Arabicencoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingWindowsArabic);
    NSString *yourstring = [[NSString alloc]initWithData:yourdata encoding:Arabicencoding];

答案 2 :(得分:1)

“\ U0633 \ U0627 \ U0642 \ U064a \ U0629 \ U0627 \ U0644 \ U0645 \ U0633 \ U0643”实际上只是Objective-C用于没有ascii字符的编码。尝试在您正在测试的任何内容上添加子视图/标签,以显示文本。首先尝试使用“responseString”,然后使用“myDictionary”,可以显示相同内容。