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];

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

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

    1. - (NSString *)replaceUnicode:(NSString *)unicodeStr {  
    2.       
    3.     NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\u" withString:@"\U"];  
    4.     NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@""" withString:@"\""];  
    5.     NSString *tempStr3 = [[@""" stringByAppendingString:tempStr2] stringByAppendingString:@"""];  
    6.     NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];  
    7.     NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData  
    8.                                                            mutabilityOption:NSPropertyListImmutable  
    9.                                                                      format:NULL  
    10.                                                            errorDescription:NULL];  
    11.       
    12.    // NSLog(@"Output = %@", returnStr);  
    13.     return [returnStr stringByReplacingOccurrencesOfString:@"\r\n" withString:@" "];  
    14. }  


    转载请注明:

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

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

     

  • 相关阅读:
    Asp.Net图片上传
    JQuery实现CheckBox全选全不选
    DES加密解密公用方法(详细注释)
    sysobjects
    window.onload和$(document).ready()区别
    Ajaxpro2 实现三级联动
    idea Mac版过期处理方法.适用于JetBrains全家桶
    rabbitmq报错Failed to start RabbitMQ broker
    pip install image 失败,加上国内源
    关于系统程序员的一些感悟
  • 原文地址:https://www.cnblogs.com/lixingle/p/3295375.html
Copyright © 2011-2022 走看看