打印字典\数组显示中文

//
//  NSDictionary+LOG.m
//  2015年 CoderWJ (byWJ)
//

#import <Foundation/Foundation.h>

@implementation NSDictionary (LOG)

- (NSString *)descriptionWithLocale:(id)locale
{
    // 1.定义一个可变的字符串, 保存拼接结果
    NSMutableString *strM = [NSMutableString string];
    [strM appendString:@"{\n"];
    // 2.迭代字典中所有的key/value, 将这些值拼接到字符串中
    [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
        [strM appendFormat:@"\t%@ = %@,\n", key, obj];
    }];
    [strM appendString:@"}"];
    
    // 删除最后一个逗号
    if (self.allKeys.count > 0) {
        NSRange range = [strM rangeOfString:@"," options:NSBackwardsSearch];
        [strM deleteCharactersInRange:range];
    }
    
    // 3.返回拼接好的字符串
    return strM;
}

@end

@implementation NSArray (LOG)
- (NSString *)descriptionWithLocale:(id)locale
{
    // 1.定义一个可变的字符串, 保存拼接结果
    NSMutableString *strM = [NSMutableString string];
    [strM appendString:@"(\n"];
    // 2.迭代字典中所有的key/value, 将这些值拼接到字符串中
    [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        [strM appendFormat:@"\t%@,\n", obj];
    }];
    [strM appendString:@")\n"];
    
    // 删除最后一个逗号
    if (self.count > 0) {
        NSRange range = [strM rangeOfString:@"," options:NSBackwardsSearch];
        [strM deleteCharactersInRange:range];
    }
    
    // 3.返回拼接好的字符串
    return strM;
}
@end
时间: 2024-10-13 16:20:51

打印字典\数组显示中文的相关文章

python字典中显示中文

#coding=utf-8import jsondict={'title':"这是中文"}print json.dumps(dict,ensure_ascii=False,encoding="utf-8") books=[ {'name':u'C#从入门到精通','price':23.7,'store':u'卓越'}, {'name':u'C#从入门到精通二','price':44.5,'store':u'当当'}, {'name':u'C#从入门到精通三','pr

description 数组的中文打印

在说原型模式之前,我们先来看java里面的深复制和浅复制: 1. 浅复制:被复制的对象的所有变量都持有和原来对象的变量相同的值,而所有的对其他对象的引用都指向原来的对象. 2. 深复制:被复制对象的所有变量都含有与原来对象相同的值,除去那些引用其他变量的对象.那些引用其他对象的变量将指向被复制过来的新对象,而不是原来那些被引用的对象.深复制需要把要复制的对象的所有引用都复制一遍. 这两者的区别就是关于引用对象的处理,浅复制是不考虑引用对象,而深复制需要考虑引用对象的问题. 对java中的clon

DM36x IPNC OSD显示中文 --- 基本数据准备篇

经过上一篇的叙述,基本原理搞清楚后,便需要对我们在OSD上显示中文作数据准备,首先是需要将gb2312关键区(也就是实际有文字存在的区)中的汉字转换为图片,在实际的转换中,并不像上一篇中GB2312编码转换为UNICODE描述一样,使用libiconv库中的iconv函数将94x94的gb2312编码表直接传递给iconv函数会转换失败(错误提示不完整的多字节字符或宽字符).为了简化这其中的转换难度,目前使用的是查表的方法将GB2312编码转换为UNICODE编码,这样就要求先准备好GB2312

解析 Qt 字库移植并能显示中文 (下篇)

原文http://mobile.51cto.com/symbian-272563.htm 本文介绍的是Qt 字库移植并能显示中文,需要的字体库文件,一般是多个.具体移植那一个,看你使用的字库是什么了,先来看内容. AD: 解析 Qt 字库移植并能显示中文 (下篇)是本节介绍的内容,接着上篇 解析 Qt 字库移植并能显示中文 (上篇)继续介绍,烂来看本节内容. 1.几种格式字库的简介 QT支持四种格式的字库(TTF,BDF,PFA/PFB,QPF)(见参考文献[3]),但在产品中,如果直接使用,T

做NSArray分类,能正常显示中文

NSArray+Log.m 1 #import "NSArray+Log.h" 2 3 @implementation NSArray (Log) 4 5 - (NSString *)descriptionWithLocale:(id)locale 6 { 7 // 遍历数组中的所有内容,将内容拼接成一个新的字符串返回 8 NSMutableString *strM = [NSMutableString string]; 9 10 [strM appendString:@"(

如何让PowerShell显示中文不乱码

故障描述: 这两天有个部门做了个Survey用来调查一些信息,由于对最后的结果报表有些特殊要求,不得不决定弃用SharePoint Survey自带的Export to spreadsheet功能,改用PowerShell导出结果. 过程中碰到个小麻烦,就是Survey结果中的中文字符不能正常显示,打印出来的都是问号.. 解决方法: 其实嘛一看就知道是encoding的问题,英语为默认语言的环境里,PowerShell默认的Encoding是AscII 最简单的方法就是改用PowerShell

[已解决]关于python无法显示中文的问题:SyntaxError: Non-ASCII character &#39;\xe4&#39; in file test.py on line 3, but no encoding declared。

想在python代码中输出汉字.但是老是出现SyntaxError: Non-ASCII character '\xe4' in file test.py on line , but no encoding declared. (test.py是我自己的文件,提示错误出现在第4行, 你的文件也会得到相应的提示). 一个简单的示例test.py代码如下: 1 #!/usr/bin/python 2 3 print "你好吗" 在终端下执行python test.py指令之后, File

Sublime Text3 编译后无法正常显示中文的问题修复

一.乱码现象 利用sublime自带编译快捷方式ctrl+B会出现中文乱码的情况 print("没有循环数据!")print("完成循环!") 二.寻找原因 1.由于之前我已经安装了插件ConvertToUTF8,排除文本编码错误问题 2.相同的代码在插件sublimerepl搭建的解释器交互下(按F5键),能成功显示中文 ......在查找了很多案例之后发现Anaconda插件安装之后会自动生成一个叫"Anaconda Python Builder&qu

解决了一个困扰我近一年的vim显示中文乱码的问题

今天解决了vi命令打开日志文件中文总是显示乱码的问题.由于项目组中的日志包含一些特殊字符,所以使用vim打开日志文件时总是不能正确识别出文件字符编码.此时用:set fileencoding命令可以看出vim把文件编码识别成latin1. 在这种情况下无论终端设置成gbk还是utf-8编码,都不能正确显示中文. 解决方法有两个: 1 使用:e ++enc=utf-8命令强制让vim以utf-8编码重新打开文件 注意:由于我们程序有时也会输出gbk编码的中文字符日志,所以有时还会有少量乱码. 2