首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

IOS学习之路二十(程序json转换数据的中文字符有关问题解决)

2013-09-05 
IOS学习之路二十(程序json转换数据的中文字符问题解决)ios请求web中的json数据的时候经常出现乱码问题:例

IOS学习之路二十(程序json转换数据的中文字符问题解决)

ios请求web中的json数据的时候经常出现乱码问题:

例如请求结果可能如下:"\U00e5\U00a5\U00bd\U00e8\U00ae\U00a4" 

在网上查到的解决方法是:

  • 解析数据的时候,可以先把数据存放在NSdata对象中,再进行转码,例如

    NSData*jsondata = [requestresponseData];

    NSString*jsonString = [[NSStringalloc]initWithBytes:[jsondatabytes]length:[jsondatalength]encoding:NSUTF8StringEncoding];

    不过我按照这种方法做的还是没能解决。

    最后通过下面的方法解决了:

    - (NSString *)replaceUnicode:(NSString *)unicodeStr {        NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\\u" withString:@"\\U"];    NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];    NSString *tempStr3 = [[@"\"" stringByAppendingString:tempStr2] stringByAppendingString:@"\""];    NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];    NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData                                                           mutabilityOption:NSPropertyListImmutable                                                                     format:NULL                                                           errorDescription:NULL];       // NSLog(@"Output = %@", returnStr);    return [returnStr stringByReplacingOccurrencesOfString:@"\\r\\n" withString:@"\n"];}

    转载请注明:

    本文转自:点击打开链接http://blog.csdn.net/wildcatlele

    新浪微博:http://weibo.com/u/3202802157








热点排行