zoukankan      html  css  js  c++  java
  • IOS学习之路二十(程序json转换数据的中文字符问题解决)

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

    例如请求结果可能如下:"U00e5U00a5U00bdU00e8U00aeU00a4" 

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

    • 解析数据的时候,可以先把数据存放在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:@"
    "];
    }


    转载请注明:

     

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

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








  • 相关阅读:
    HDU5914
    HDU1087(dp)
    HDU1711(KMP)
    HDU1251(字典树)
    HDU3068(Manacher算法)
    POJ2187(旋转卡壳)
    HDU1392(凸包)
    CodeForces 722B
    CodeForces 722A
    CodeForces 721B
  • 原文地址:https://www.cnblogs.com/pangblog/p/3297140.html
Copyright © 2011-2022 走看看