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








  • 相关阅读:
    异或和之和
    Wannafly挑战赛19C:多彩的树
    HDU 6035 树形dp
    利用C++套接字发送邮件
    洛谷P3368树状模板(区间更新+单点查询+差分)
    CCF 201903-1 小中大
    关于树状数组
    CODEVS 4189 (前缀是否出现)
    关于字典树
    hdu 1022 Train Problem
  • 原文地址:https://www.cnblogs.com/pangblog/p/3297140.html
Copyright © 2011-2022 走看看