1

我有一个我正在尝试使用 SBJson 解析的 JSON 文件。

我收到的响应字符串在我执行时正确显示阿拉伯字符

NSLog(@"%@",responseString);

但每当我使用 SBJson 解析器

NSDictionary *myDictionary = [responseString JSONValue];

并尝试

NSLog(@"%@", myDictionary);

我的阿拉伯字符变成了奇怪的东西:

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

请问谁能帮忙

4

3 回答 3

4

不用担心。一切都很好。

\u0633

相当于

س

在 C++ 中试试这个:

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

tStr 将等于 س

只是 NSLog 没有转换

于 2012-05-18T04:22:58.247 回答
2

用这个 :

NSStringEncoding Arabicencoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingWindowsArabic);
    NSString *yourstring = [[NSString alloc]initWithData:yourdata encoding:Arabicencoding];
于 2012-07-03T17:42:09.987 回答
1

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

于 2012-05-17T22:54:42.933 回答