OC 解决NSArray、NSDictionary直接打印中文出现乱码的问题

在iOS开发中,经常需要查看数组中得元素是否是自己想要的,但是苹果并没有对直接打印数组中得中文作处理,直接打印就会出现一堆很讨厌的东西,解决其实很简单,就是需要通过为NSArray添加分类,重写 - (NSString *)descriptionWithLocale:(id)locale方法即可

代码如下:

#import "NSArray+Log.h"

@implementation NSArray (Log)

- (NSString *)descriptionWithLocale:(id)locale
{
    NSMutableString *str = [NSMutableString stringWithFormat:@"%lu (\n", (unsigned long)self.count];

    for (id obj in self) {
        [str appendFormat:@"\t%@, \n", obj];
    }

    [str appendString:@")"];

    return str;
}
@end

同理要解决NSDictionary乱码问题,也需要为NSDictionary类添加一个分类,重写  - (NSString *)descriptionWithLocale:(id)locale方法

代码如下:

 1 #import "NSDictionary+MyLog.h"
 2
 3 @implementation NSDictionary (MyLog)
 4
 5
 6 - (NSString *)descriptionWithLocale:(id)locale
 7 {
 8     NSArray *allKeys = [self allKeys];
 9     NSMutableString *str = [[NSMutableString alloc] initWithFormat:@"{\t\n "];
10     for (NSString *key in allKeys) {
11         id value= self[key];
12         [str appendFormat:@"\t \"%@\" = %@,\n",key, value];
13     }
14     [str appendString:@"}"];
15
16     return str;
17 }
18 @end

时间: 2024-10-10 18:30:38

OC 解决NSArray、NSDictionary直接打印中文出现乱码的问题的相关文章

解决 iOS NSDictionary 输出中文字符”乱码”(Unicode编码)问题

简单定义一个字典,输出结果: NSDictionary *dic = @{ @"我是中文字符": @"223333", @"aaa": @{ @"aaa": @"啦啦啦" } }; NSLog(@"%@", dic); 将会看到这样的"乱码",这种现象经常在调试服务端返回 JSON 结果的时候遇到: 2015-02-25 19:23:40.346 XXXX[13273

解决Sublime Text 3中文显示乱码问题(转)

解决Sublime Text 3中文显示乱码问题(转) 1.打开Sublime Text 3,按Ctrl+-打开控制行,复制粘贴以下python代码,然后回车运行. 2. 复制并粘贴如下代码: import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = s

通过freemarker出word的技术解决方案_通过点击一个按钮临时实现生成一个word,解决出word时中文文件名乱码问题,解决打开出word时打开的word出现问题的问题,出图片,解决动态列表

 通过freemarker制作word比较简单 步骤:制作word模板.制作方式是:将模板word保存成为xml----在xml的word模板中添加相应的标记----将xml的word文件的后缀名改成ftl文件 详细步骤如下: 模板制作(将要动态显示的数据打上标记,这个标记是freemarker中的EL标记,要注意的是,要控制值为空的情况,下面${(site.wzmc)?default("")}标识当网站名称为空的时候显示空值,如果这里如果不做控制,在实际项目中会显示错误!) 另外

一种可以解决python读取文件中文出乱码的方法

这几天刚刚入手学习python,今天在进行python文件存取的时候出现输出中文乱码问题.当然作为一名python技术小白,也只能通过在百度上查找结果.通过导入 'os'模块,如下: username = input('username:') os.system("cd.>test.txt")      fp = open('test.txt','w+')      fp.write(username) 可以将输入的username字符串写入到文件text.txt中,该文件存在本

怎么解决Sublime Text 2中文显示乱码

Sublime Text 2中文显示乱码该怎么解决呢?其实解决问题的关键在于让Sublime Text 2支持GB2312和GBK.具体的步骤如下: 1.安装Sublime Package Control. 在Sublime Text 2上用Ctrl+-打开控制台并在里面输入以下代码,Sublime Text 2就会自动安装Package Control. import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.i

iOS 解决NSArray直接打印中文出现乱码的问题

在iOS开发中,经常需要查看数组中得元素是否是自己想要的,但是苹果并没有对直接打印数组中得中文作处理,直接打印就会出现一堆很讨厌的东西,解决其实很简单,就是需要通过为NSArray添加分类,重写 - (NSString *)descriptionWithLocale:(id)locale方法即可 代码如下: #import "NSArray+Log.h" @implementation NSArray (Log) - (NSString *)descriptionWithLocale:

解决Sublime Text 3中文显示乱码(tab中文方块)问题

一.文本出现中文乱码问题 1.打开Sublime Text 3,按Ctrl+-打开控制行,复制粘贴以下python代码,然后回车运行. 2. 复制并粘贴如下代码: Python代码   import urllib.request,os,sys; exec("if sys.version_info < (3,) or os.name != 'nt': raise OSError('This code is for Windows ST3 only!')"); pr='Prefere

解决linux下unzip中文有乱码的问题

xxx.zip 中有中文的文件,在linux下unzip就会有乱码. 解决办法:安装7zip 去http://sourceforge.net/projects/p7zip/files/latest/download?source=typ_redirect 下载 p7zip_9.20.1_src_all.tar.bz2 上传到服务器tar -jxvf ,再make.make install. 解压文件:7za x xxx.zip 就OK了

解决URL参数为中文时乱码

问题:URL参数为中文,String str = request.getParameter();输出???,保存到数据库也是乱码 解决: 1.配置Tomcat <?xml version='1.0' encoding='GBK'?> <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="2000