博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS学习之路二十(程序json转换数据的中文字符问题解决)
阅读量:5016 次
发布时间:2019-06-12

本文共 1326 字,大约阅读时间需要 4 分钟。

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://weibo.com/u/3202802157

转载于:https://www.cnblogs.com/pangblog/p/3297140.html

你可能感兴趣的文章
关于Qt隐藏任务栏已及导致QDialog关闭整个程序问题
查看>>
Python3 三元表达式、列表推导式、生成器表达式
查看>>
C#Execl
查看>>
SpringBoot 整合websocket
查看>>
国内GIT托管服务
查看>>
IMGUI
查看>>
Stanford Parser学习入门(2)-命令行运行
查看>>
数学期望
查看>>
zabbix性能调优(1)
查看>>
jquery事件绑定例子
查看>>
RMQ问题
查看>>
Latex使用整理
查看>>
foj2024
查看>>
VS2012的SVN插件VISUALSVN
查看>>
WebForm 生成并显示二维码
查看>>
抓水王
查看>>
适配器模式
查看>>
IIS7.5部署除静态页面外都是404的解决方案
查看>>
RPM 安装与卸载命令
查看>>
Android之ListView异步加载图片且仅显示可见子项中的图片
查看>>