我从服务器收到一个json数据,里面有一些字符串。我使用SBJson
https://github.com/stig/json-framework来获取它们。
然而,当我在UILabel
输出一些字符串时,它们看起来像这样:\u0418\u043b\u044c\u044f\u0411\u043b\u043e\u0445
(那是西里尔符号)
拉丁字符没问题
如何将其解码为普通符号?
有关获取数据的一些代码:
NSData * data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *stringData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSDictionary *object = [parser objectWithString:stringData error:nil];
NSString *comments = [NSString stringWithFormat:@"%@",[object valueForKey:@"comments"]];
String comments 有一个非常特殊的格式,所以我正在做一些像stringByTrimmingCharactersInSet
,
stringByReplacingOccurrencesOfString
,
NSArray* json_fields = [comments_modified componentsSeparatedByString: @";"];
获取最终数据。
这是一些修剪/替换后的接收数据示例(NSString* comments
):
"already_wow"=0;"date_created"="2012/03/1411:11:18";id=41598;name="\U0418\U043b\U044c\U044f\U0411\U043b\U043e\U0445";text="\U0438\U043d\U0442\U0435\U0440\U0435\U0441\U043d\U043e";"user_id"=1107;"user_image"="user_image/a6/6f/96/21/20111220234109510840_1107.jpg";"user_is_deleted"=0;username=IlyaBlokh;"wow_count"=0;
您会看到字段text
和name
已编码
如果我在视图上显示它们(例如在UILabel),它们看起来仍然相同
答案 0 :(得分:0)
可能返回的字符串只是unicode字符串表示(ascii字符串),这意味着没有返回用utf8编码的内容,尝试使用NSASCIIStringEncoding来获取stringData