Разбор на арабски текст с SBJson в Xcode

имам JSON файл, който се опитвам да анализирам с помощта на SBJson.

низът за отговор, който получавам, показва правилно арабските знаци, когато направя a

NSLog(@"%@",responseString);

но винаги, когато използвам анализатора SBJson

NSDictionary *myDictionary = [responseString JSONValue];

и опитайте

NSLog(@"%@", myDictionary);

моите арабски знаци се трансформират в нещо странно:

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

моля, може ли някой да помогне


person Thomas_LEB    schedule 17.05.2012    source източник


Отговори (3)


"\U0633\U0627\U0642\U064a\U0629 \U0627\U0644\U0645\U0633\U0643" всъщност е само кодирането, което Objective-C използва за никакви ASCII знаци. Опитайте да добавите подизглед/етикет върху каквото и да тествате, което ще показва текста. Първо опитайте с "responseString" и след това с "myDictionary", той може да покаже същото.

person erran    schedule 17.05.2012

не се притеснявай Всичко е наред.

\u0633

е еквивалент на

س

опитайте това в C++:

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

tStr ще бъде равно на س

Просто NSLog не конвертира

person CReaTuS    schedule 18.05.2012

използвай това :

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