我们使用NSLog在控制台输出内容查看网络请求返回的参数时,由于中文编码格式的问题,直接输出json数据时中文总会以原始码文Unicode显示,而不是正常显示中文
我们获取json数据的时候,一般会直接转成NSDictionary的格式,或者就原有的json数据也可以,使用如下代码:
-
// json数据或者NSDictionary转为NSData,responseObject为json数据或者NSDictionary
-
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:responseObject options:NSJSONWritingPrettyPrinted error:nil];
-
// NSData转为NSString
-
NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
-
NSLog(@"%@", jsonStr);
这样输出的就是正常中文显示的了,也就是用UTF8编码后的结果。
日志
输出
于是,简单搜寻了下,“歪果仁”给出了如下解决方法:
Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加 OS_ACTIVITY_MODE = disable
以上所述是小编给大家介绍的
iOS
中
Xcode
8 日志
输出
乱码
问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件
开发
网网站的支持!
您可能感兴趣的文
在
Xcode
的
控制台
里直接打印一个数组或者字典,
输出
的都是一些Unicode的编码,不方便调试. 要想看到
中文
,则要去获取对应的key或者数组下标.得到具体某一个对象才能看到
中文
,给我们调试起来很不方便.
而现在可以使用ZXPUnicode
输出
中文
, 使用也方便.代码也简洁,就几行代码. 直接把ZXPUnicode拖到工程里就能让
Xcode
支持
中文
的
输出
了.
我们使用NSLog在
控制台
输出
内容查看网络请求返回的参数时,由于
中文
编码格式的问题,直接
输出
json
数据
时
中文
总会以原始码文Unicode显示,而不是正常显示
中文
我们获取
json
数据
的时候,一般会直接转成NSDictionary的格式,或者就原有的
json
数据
也可以,使用如下代码:
//
json
数据
或者NSDictionary
转为
NSData,responseObject为
json
数据
或者
- (NSString *)descriptionWithLocale:(nullable id)locale indent:(NSUInteger)level;
当
数据
的嵌套格式比较深,这种打印方式如果没有做格式化处理,是很难看清
数据
的层次结构,若想实现
数据
按层级缩进打印,代码就...
在网上搜索的资料基本都是批量打开后再进行保存,在代码文件量比较多的情况下这种方式的效率不高。因此还是需要选择编辑器自带的方式来统一修改打开文件时候的编码方式。最后选择根据实际情况选择convert或者reinterpret即可。
将字典(NSDictionary)和数组(NSArray)打印的Log显示为
Json
格式,可以解决
Xcode
打印字典和数组时
中文
显示
乱码
问题。
* 完美解决字典和数组调试打印时
中文
显示
乱码
问题,
* 使用
JSON
格式打印,可以通过
JSON
格式化验证
* 缩进格式显示,层次清晰
* 使用po命令调试时也能生效
* DEBUG模式生效,不影响线上版本
* 兼容
iOS
8及以上版本(
iOS
8以下没有测试过)
话不多说,直接将github仓库(https://github.com/shix.
根本无法调试,所以为了解决这个问题,今天给大家推荐一个非常好的方法,主要思路就是利用objc/runtime运行时机制 来替换掉系统的
控制台
输出
方法,然后将utf-8格式的字符转换成
中文
格式。
一般情况下,我们在使用NSLog 和 %@
输出
某...
如果出现
乱码
,我们需要设置他的编码格式为utf-8,以及它返回的类型,通过@RequesMapping的produces属性来实现,代码如下。出现这个错误是因为jackson依赖和springboot依赖版本有冲突,把jsckson的依赖版本从2.9.8换成 2.11.0即可。发现问题:时间默认返回的
json
字符串变成了时间戳类型的格式 Timestamp 1644327387386。注意观察
JSON
DateUtil.
JSON
FormatDateUtil()的参数列表和返回的格式。使用工具类和公共方法。
转载地址:
Xcode
控制台
输出
中文
创建一个.m文件,然后将一下代码加入.m文件中即可实现
控制台
输出
中文
,代码实现了NSSet/NSDictionry/NSArray类型的展示。具体代码如下:
#ifndef Release
@implementation NSSet(Log)
- (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level {
NSMutableString *desc = [NSMutableS
问题详情:
一位同学在发送
json
格式的post请求时,请求
数据
中有
中文
内容:
{"inputCodes":["6932608700850"],"terminal":{"status":1,"channel":"D002","storeCode":"2107","passage":"D002","storeName":...
#define CLog(format, ...) NSLog(format, ## __VA_ARGS__)
#define NSLog(FORMAT, ...) printf("%s\
使用mac下的文本编辑器打开还是
乱码
。转换成UTF-8或16都不行。
在网上看到有人说用浏览器打开,于是使用firefox打开,可以看到
中文
。
1、使用浏览器(firefox等)打开需要转换的文本A,然后复制。
2、使用
Xcode
打开A,刚才在浏览器中复制好的文本直接粘贴到使用
Xcode
打开A的窗口。这时
Xcode
会提示用不用转换。
3、点击转换