当我们请求接口的时候,服务器会返回一些数据,当我们打印的时候就会发现,打印出来的是unicode码,不是汉字。

这时候需要我们自己手动处理一下,让打印的时候输出汉字的格式。

方法如下:

新增一个分类,在分类中,重写描述的方法,如下:

/**
* 集合类型打log
*/
@implementation NSArray (log) - (NSString *)description{
return [self descriptionWithLocale:nil];
} - (NSString *)descriptionWithLocale:(id)locale{
NSMutableString * string = [[NSMutableString alloc]init];
[string appendString:@"[\n"];
for (int i = ; i < self.count; i++) {
[string appendFormat:@"\t第%d个 -- %@ \n",i,self[i] ];
}
[string stringByAppendingString:@"]\n"];
return string;
} @end @implementation NSDictionary (Log) - (NSString *)jsonDescription {
// 参考了此博客 https://www.jianshu.com/p/f14b4cb1435b .
// NSString默认使用的是UTF-16,转出UTF-8就能打印了
NSError * error = nil ;
NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error]; if (error) {
NSMutableString *strM = [NSMutableString stringWithString:@"{\n"];
[self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[strM appendFormat:@"\t%@ = %@ ;\n", key, obj];
}];
[strM appendString:@"}\n"];
return strM; } NSString *newString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
newString = [newString stringByReplacingOccurrencesOfString:@"\\" withString:@""] ;
return newString ;
} - (NSString *)description{
return [self descriptionWithLocale:nil];
} - (NSString *)descriptionWithLocale:(id)locale
{ if ([NSJSONSerialization isValidJSONObject:self]) {
return [self jsonDescription];
}
// 原来的写法,格式上有点问题,但是转中文是没问题的
NSMutableString *strM = [NSMutableString stringWithString:@"{\n"]; [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[strM appendFormat:@"\t%@ = %@ ;\n", key, obj];
}]; [strM appendString:@"}\n"]; return strM;
} @end

服务器返回的数据将Unicode码转成汉字的更多相关文章

  1. 【04】AJAX接收服务器返回的数据

    AJAX接收服务器返回的数据 readyState 和 status 属性 readyState 属性保存有 XMLHttpRequest 对象的交互状态,从 0 到 4 变化: 0 :未初始化(还没 ...

  2. json 解析double类型多出几位小数,利用NSDecimalNumber修复 , 服务器返回的数据,用数据类型接收(int,NSNumber)?

     后台返回float类型数据8.2,实际用AFN的json解析后得到8.1999999999,该怎么处理呢? 开发中处理处理价格金额问题, 后台经常返回float.double类型, 打印或转成NSS ...

  3. loadrunner关联——对服务器返回的数据选择性提交

    在跟进项目的过程中,才体会到自己之前闷头看书再写小小的测试程序验证的学习方式很没有效率,知道动态关联,却也只是会参数化式的动态关联,这种关联是我们预先知道要提交的数据而进行的关联:更高一级的可能就是使 ...

  4. 服务器返回的各种HTTP状态码介绍

    [摘要]HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码.它由 RFC 2616 规范定义的,并得到RFC 2518.RFC 2817.RFC 22 ...

  5. js如何发送wss协议的请求,以及接受服务器返回的数据

    今天遇到问题,以往都是请求http协议的url,现在请求变成了wss的,用以前那种ajax的方式不可以发送和接受.然后查阅相关资料解决了这个问题,在这记录一下解决办法,使用的是websocket. & ...

  6. 将后端返回的数据在jsp中拼接成table列表

    //先下载jquery js文件 放入项目中 jsp文件内容 <%@ page language="java" pageEncoding="UTF-8"% ...

  7. Unicode编码字符 转换成汉字

    转载:http://www.chengxuyuans.com/iPhone_IOS/48128.html - (NSString *)replaceUnicode:(NSString *)unicod ...

  8. datatables 服务器返回数据后的处理-表格数据属性的操作方法(ajax.dataSrc)

    http://dt.thxopen.com/reference/option/ajax.dataSrc.html http://datatables.net/reference/option/ajax ...

  9. Postman----模拟服务器返回数据

    使用场景:在某些情况下,比如A接口还没开发好,我们需要测试B接口,刚好B接口的请求数据中需要包含A接口返回的数据,这时我们就可以模拟A接口服务器返回的数据来测试B接口 解决办法: 举例:模拟此 htt ...

随机推荐

  1. nfs 所有的版本的 RFC 整理; nfs 所有版本对比;

    下面是针对 nfs 所有的版本,我们可以通过不同的RFC 进行详细看其RFC的细节来进行对比: 下面是备忘一些NFS RFC 的链接: https://datatracker.ietf.org/doc ...

  2. 《Hands-On System Programming with Go》之目录操作

    开一个新书<Hands-On System Programming with Go>,系统的了解一下, 这方面的东东,以前用C语言实现过, 现在用GO,重新来!! package main ...

  3. AudioFormat.Encoding

    https://docs.oracle.com/javase/7/docs/api/javax/sound/sampled/AudioFormat.Encoding.html

  4. C# sync/async 同步/异步

    同步方法 Console.WriteLine($")} {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}******* ...

  5. Selenium 与自动化测试 —— 《Selenium 2 自动化测试实战》读书笔记

    背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习.所以本文几乎没有实践内容,大多都是概念和工 ...

  6. JQuery之Ajax基础

    众所周知JQuery中的Ajax主要用于数据传输,其数据传输格式为JSON格式数据,比XML格式数据传输更快. ajax 是 Asynchronous JavaScript and XML的简写,aj ...

  7. java的各种日志框架

    本文是作者原创,版权归作者所有.若要转载,请注明出处.文章中若有错误和疏漏之处,还请各位大佬不吝指出,谢谢大家. java日志框架有很多,这篇文章我们来整理一下各大主流的日志框架, 包括log4j  ...

  8. layui table+复杂表头+合并单元格

    效果图: 问题:行hover效果感觉错乱  所以改为透明色 代码: <!DOCTYPE html> <html lang="en"> <head> ...

  9. java程序猿工具

    1.做为一个程序员打字最重要    指法打字练习软件:http://home.bdqn.cn/thread-11142-1-1.html 2.JDK必不可少    JDK6.X下载       JDK ...

  10. Appium常用指令

    右键图片“在新标签页打开”可查看大图